SlideShare a Scribd company logo
1 of 28
Download to read offline
CSS Grid Layout
Specification overview. Implementation status and roadmap.
Manuel Rego Casasnovas - rego@igalia.com
BlinkOn 2 (Zurich) - 13-14 May 2014
About Igalia & me
#cssgrid #blinkon #igalia
Igalia is an Open Source consultancy founded in 2001.
Member of Igalia Browsers Team.
Blink and WebKit committer.
Working on CSS standards:
·
·
·
·
CSS Grid Layout
CSS Regions
-
-
3/28
CSS Grid Layout
“allows authors to easily define complex, responsive 2-dimensional
layouts”
by Tab Atkins Jr. (Google)
at CSS WG Blog
source: http://www.w3.org/blog/CSS/2014/01/23/css-grid-draft-updated/
CSS Grid Layout | Introduction
#cssgrid #blinkon #igalia
Grid based designs were first done using tables and
more recently floating divs.
Those approaches have issues and a lot of complexity.
Lots of CSS frameworks emerging to make things easier.
CSS Grid Layout is a powerful and flexible standard
defined by the W3C.
·
·
·
·
5/28
CSS Grid Layout | Introduction
#cssgrid #blinkon #igalia
CSS Grid Layout provides a
mechanism to divide the
available space in rows
and columns with a set of
predictable sizing
behaviors.
This defines a set of grid
areas where designers can
precisely place the
elements of a web page.
The Grid Layout spec can
be used to intelligently
reflow elements within a
web page optimizing
locations and sizes
depending on the device
where the page is
rendered in.
·
·
·
6/28
CSS Grid Layout | Concepts
#cssgrid #blinkon #igalia
Grid lines are the
horizontal and vertical
dividing lines of the grid.
·
7/28
CSS Grid Layout | Concepts
#cssgrid #blinkon #igalia
Grid track is a generic term
for a grid column
.
8/28
CSS Grid Layout | Concepts
#cssgrid #blinkon #igalia
Grid track is a generic term
for a grid
row.
9/28
CSS Grid Layout | Concepts
#cssgrid #blinkon #igalia
Grid cell is the space
between two adjacent row
and two adjacent column
grid lines.
10/28
CSS Grid Layout | Concepts
#cssgrid #blinkon #igalia
Grid area is the logical
space used to lay out one
or more grid items. It is
bound by four grid lines,
one on each side of the
grid area.
11/28
CSS Grid Layout | Syntax
#cssgrid #blinkon #igalia
.grid {
display: grid;
grid-template-columns: 200px 1fr;
grid-template-rows: 100px 1fr auto;
}
.title { grid-column: 1; grid-row: 1; }
.menu { grid-column: 1; grid-row: 2 / span 2; }
.main { grid-column: 2; grid-row: 1 / span 2; }
.footer { grid-column: 2; grid-row: 3; }
CSS
display: grid: Defines a grid container.
grid-template-columns and grid-template-rows: Specify the track breadths.
grid-column and grid-row: Determine a grid item's size and location within the grid.
·
·
·
<div class="grid">
<div class="title">Title</div>
<div class="menu">Menu</div>
<div class="main">Main</div>
<div class="footer">Footer</div>
</div>
HTML
12/28
CSS Grid Layout | Track Breadths
#cssgrid #blinkon #igalia
Options:·
length
percentage
flex (fr - free space - unit)
max-content
min-content
minmax(min, max)
auto
-
-
-
-
-
-
-
13/28
CSS Grid Layout | Flexible Track Breadths
#cssgrid #blinkon #igalia
Flexible track breadths
will grow or shrink and
automatically adapt
themselves to viewport
size.
·
14/28
CSS Grid Layout | Flexible Track Breadths
#cssgrid #blinkon #igalia
This allows to create
very customized grids,
defining flexible tracks
with minimum and
maximum breadths
depending on their
contents or the
available free space left
by the rest of tracks
and viewport size.
·
15/28
CSS Grid Layout | Responsive Layout
#cssgrid #blinkon #igalia
CSS Grid Layout can be used
combined with other CSS features
to create responsive designs.
For example previous case can be
adapted to portrait mode if the
screen orientation changes using
Media Queries.
·
·
16/28
CSS Grid Layout | Responsive Layout
#cssgrid #blinkon #igalia
@media (orientation: portrait) {
.grid {
grid-template-columns: auto 1fr;
grid-template-rows: auto 1fr auto;
}
.title { grid-column: 1; grid-row: 1; }
.menu { grid-column: 2; grid-row: 1; }
.main { grid-column: 1 / span 2; grid-row: 2; }
.footer { grid-column: 1 / span 2; grid-row: 3; }
}
CSS
Change grid-template-columns and grid-template-rows.
Change position inside the grid of the different items.
·
·
17/28
CSS Grid Layout | Examples
#cssgrid #blinkon #igalia
Enable experimental Web Platform features:
chrome://flags/#enable-experimental-web-platform-features
GitHub repository with different examples:
http://igalia.github.io/css-grid-layout/
Video:
https://www.youtube.com/watch?v=nsWtMN54bEI
·
·
Responsive grid:
http://igalia.github.io/css-grid-layout/responsive-grid.html
Gallery:
http://igalia.github.io/css-grid-layout/gallery.html
-
-
·
18/28
CSS Grid Layout | Areas & Alignment
#cssgrid #blinkon #igalia
.grid {
display: grid;
grid-template-areas: "title title title social"
"menu main main social"
"menu main main social"
"footer footer footer footer";
}
.title { grid-area: title; align-self: center; justify-self: center; }
.menu { grid-area: menu; align-self: start; }
.main { grid-area: main; }
.social { grid-area: social; align-self: end; justify-self: right; }
.footer { grid-area: footer; align-self: start; }
CSS
grid-template-areas specifies named grid areas that can be referenced
to position grid items.
Follows CSS Box Alignment spec for alignment features.
·
·
19/28
CSS Grid Layout | Areas & Alignment
#cssgrid #blinkon #igalia 20/28
CSS Grid Layout | Auto-placement
#cssgrid #blinkon #igalia
form {
display: grid;
grid-auto-flow: row;
}
label { grid-column: 1; }
input, textarea { grid-column: 2; }
.controls { grid-column: 1 / span 2; }
CSS
Grid items can be positioned outside of the grid bounds. This causes the
grid container to generate implicit grid tracks, forming the implicit grid.
grid-auto-flow controls the direction in which the grid items are
automatically placed.
·
·
21/28
CSS Grid Layout | Auto-placement
#cssgrid #blinkon #igalia 22/28
CSS Grid Layout | Current status
#cssgrid #blinkon #igalia
Spec (W3C Working Draft, 23 January 2014):
http://www.w3.org/TR/css-grid-1/.
Main browsers:
·
·
Old version already shipped in IE/Trident.
Work in progress in Chromium/Blink (Google and
Igalia) and Safari/WebKit (Igalia).
Mozilla has started the development in Firefox/Gecko
early this year.
·
·
·
23/28
CSS Grid Layout | Implementation Status
#cssgrid #blinkon #igalia
Define grids using all different properties in the spec.
Support for named grid lines and named grid areas.
All placement options are supported too (both explicit
and implicit grid).
Track sizing and auto-placement algorithms are already
implemented.
·
·
·
·
24/28
CSS Grid Layout | Roadmap
#cssgrid #blinkon #igalia
Subgrids (still under discussion inside the CSS WG).
Alignment.
Fragmentation.
Test coverage.
Performance optimizations.
Support for different writing modes.
Selection.
·
·
·
·
·
·
·
25/28
Acknowledgements
#cssgrid #blinkon #igalia
Bloomberg is sponsoring our work in CSS Grid Layout.·
26/28
Thank You!
igalia.com/browsers
g+ google.com/+ManuelRegoCasasnovas
twitter @regocasasnovas
www people.igalia.com/mrego/
github github.com/mrego
CSS Grid Layout. Specification overview. Implementation status and roadmap (BlinkOn 2 2014)

More Related Content

What's hot

Grids of Tomorrow: CSS Grid Layout
Grids of Tomorrow: CSS Grid LayoutGrids of Tomorrow: CSS Grid Layout
Grids of Tomorrow: CSS Grid LayoutSimone Lelli
 
An Event Apart Nashville: CSS Grid Layout
An Event Apart Nashville: CSS Grid LayoutAn Event Apart Nashville: CSS Grid Layout
An Event Apart Nashville: CSS Grid LayoutRachel Andrew
 
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017Morten Rand-Hendriksen
 
Making the most of New CSS Layout
Making the most of New CSS LayoutMaking the most of New CSS Layout
Making the most of New CSS LayoutRachel Andrew
 
The Future of Frontend - what is new in CSS?
The Future of Frontend - what is new in CSS?The Future of Frontend - what is new in CSS?
The Future of Frontend - what is new in CSS?Rachel Andrew
 
The Right Layout Tool for the Job
The Right Layout Tool for the JobThe Right Layout Tool for the Job
The Right Layout Tool for the JobRachel Andrew
 
CSS Grid Layout - An Event Apart Orlando
CSS Grid Layout - An Event Apart OrlandoCSS Grid Layout - An Event Apart Orlando
CSS Grid Layout - An Event Apart OrlandoRachel Andrew
 
Pruebas mostrando pdf's
Pruebas mostrando pdf'sPruebas mostrando pdf's
Pruebas mostrando pdf'srecepcioncedir
 

What's hot (10)

Grids of Tomorrow: CSS Grid Layout
Grids of Tomorrow: CSS Grid LayoutGrids of Tomorrow: CSS Grid Layout
Grids of Tomorrow: CSS Grid Layout
 
Introducing CSS Grid
Introducing CSS GridIntroducing CSS Grid
Introducing CSS Grid
 
An Event Apart Nashville: CSS Grid Layout
An Event Apart Nashville: CSS Grid LayoutAn Event Apart Nashville: CSS Grid Layout
An Event Apart Nashville: CSS Grid Layout
 
CSS Grid Layout Introduction
CSS Grid Layout IntroductionCSS Grid Layout Introduction
CSS Grid Layout Introduction
 
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
 
Making the most of New CSS Layout
Making the most of New CSS LayoutMaking the most of New CSS Layout
Making the most of New CSS Layout
 
The Future of Frontend - what is new in CSS?
The Future of Frontend - what is new in CSS?The Future of Frontend - what is new in CSS?
The Future of Frontend - what is new in CSS?
 
The Right Layout Tool for the Job
The Right Layout Tool for the JobThe Right Layout Tool for the Job
The Right Layout Tool for the Job
 
CSS Grid Layout - An Event Apart Orlando
CSS Grid Layout - An Event Apart OrlandoCSS Grid Layout - An Event Apart Orlando
CSS Grid Layout - An Event Apart Orlando
 
Pruebas mostrando pdf's
Pruebas mostrando pdf'sPruebas mostrando pdf's
Pruebas mostrando pdf's
 

Viewers also liked

New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)Igalia
 
Taller: Licencias de Software Libre
Taller: Licencias de Software LibreTaller: Licencias de Software Libre
Taller: Licencias de Software LibreIgalia
 
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...Igalia
 
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)Igalia
 
CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS Steve Hong
 
CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout Rachel Andrew
 
CSS Grid Layout for Frontend NE
CSS Grid Layout for Frontend NECSS Grid Layout for Frontend NE
CSS Grid Layout for Frontend NERachel Andrew
 
AEA Chicago CSS Grid Layout
AEA Chicago CSS Grid LayoutAEA Chicago CSS Grid Layout
AEA Chicago CSS Grid LayoutRachel Andrew
 
Introducing CSS Grid Layout
Introducing CSS Grid LayoutIntroducing CSS Grid Layout
Introducing CSS Grid LayoutRachel Andrew
 
CSS Grid Layout - All Things Open
CSS Grid Layout - All Things OpenCSS Grid Layout - All Things Open
CSS Grid Layout - All Things OpenRachel Andrew
 
What is Wrong with Copyright Law and How CC Can Help
What is Wrong with Copyright Law and How CC Can HelpWhat is Wrong with Copyright Law and How CC Can Help
What is Wrong with Copyright Law and How CC Can HelpSarah Hinchliff Pearson
 
Spac tombstones
Spac tombstonesSpac tombstones
Spac tombstonesegsllp
 
Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)Igalia
 
HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohateraHordeTechnology
 
February 2011 E-Connect
February 2011 E-ConnectFebruary 2011 E-Connect
February 2011 E-Connectcpatten
 
Dave Kissel - Zocalo Group
Dave Kissel - Zocalo GroupDave Kissel - Zocalo Group
Dave Kissel - Zocalo Grouphjmorris
 
Merit group general
Merit group   generalMerit group   general
Merit group generalMeritGroup
 
Akirachix Engaging Women
Akirachix Engaging WomenAkirachix Engaging Women
Akirachix Engaging WomenWeb Gathering
 

Viewers also liked (20)

New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)
 
Taller: Licencias de Software Libre
Taller: Licencias de Software LibreTaller: Licencias de Software Libre
Taller: Licencias de Software Libre
 
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
 
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
 
CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS
 
CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout
 
CSS Grid Layout for Frontend NE
CSS Grid Layout for Frontend NECSS Grid Layout for Frontend NE
CSS Grid Layout for Frontend NE
 
AEA Chicago CSS Grid Layout
AEA Chicago CSS Grid LayoutAEA Chicago CSS Grid Layout
AEA Chicago CSS Grid Layout
 
Introducing CSS Grid Layout
Introducing CSS Grid LayoutIntroducing CSS Grid Layout
Introducing CSS Grid Layout
 
CSS Grid Layout - All Things Open
CSS Grid Layout - All Things OpenCSS Grid Layout - All Things Open
CSS Grid Layout - All Things Open
 
Báo giá quảng cáo Yeutreho.com
Báo giá quảng cáo Yeutreho.com Báo giá quảng cáo Yeutreho.com
Báo giá quảng cáo Yeutreho.com
 
What is Wrong with Copyright Law and How CC Can Help
What is Wrong with Copyright Law and How CC Can HelpWhat is Wrong with Copyright Law and How CC Can Help
What is Wrong with Copyright Law and How CC Can Help
 
Spac tombstones
Spac tombstonesSpac tombstones
Spac tombstones
 
Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)
 
Active International
Active InternationalActive International
Active International
 
HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohatera
 
February 2011 E-Connect
February 2011 E-ConnectFebruary 2011 E-Connect
February 2011 E-Connect
 
Dave Kissel - Zocalo Group
Dave Kissel - Zocalo GroupDave Kissel - Zocalo Group
Dave Kissel - Zocalo Group
 
Merit group general
Merit group   generalMerit group   general
Merit group general
 
Akirachix Engaging Women
Akirachix Engaging WomenAkirachix Engaging Women
Akirachix Engaging Women
 

Similar to CSS Grid Layout. Specification overview. Implementation status and roadmap (BlinkOn 2 2014)

What I discovered about layout vis CSS Grid
What I discovered about layout vis CSS GridWhat I discovered about layout vis CSS Grid
What I discovered about layout vis CSS GridRachel Andrew
 
Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Rachel Andrew
 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid LayoutRachel Andrew
 
Talk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid LayoutTalk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid LayoutRachel Andrew
 
Introduction to CSS Grid
Introduction to CSS GridIntroduction to CSS Grid
Introduction to CSS GridKara Luton
 
Devoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid LayoutDevoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid LayoutRachel Andrew
 
An Event Apart SF: CSS Grid Layout
An Event Apart SF: CSS Grid LayoutAn Event Apart SF: CSS Grid Layout
An Event Apart SF: CSS Grid LayoutRachel Andrew
 
Start Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSRachel Andrew
 
Would you like some Grids with that?
Would you like some Grids with that?Would you like some Grids with that?
Would you like some Grids with that?Kianosh Pourian
 
The Grid - The Future of CSS Layout
The Grid - The Future of CSS LayoutThe Grid - The Future of CSS Layout
The Grid - The Future of CSS LayoutRonny Siikaluoma
 
CSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzCSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzRachel Andrew
 
Introduction to CSS Grid Layout
Introduction to CSS Grid LayoutIntroduction to CSS Grid Layout
Introduction to CSS Grid LayoutRachel Andrew
 
2D Page Layout
2D Page Layout2D Page Layout
2D Page LayoutUnfold UI
 
WEB DESIGNING AND DEVELOPMEENT.pptx
WEB DESIGNING AND DEVELOPMEENT.pptxWEB DESIGNING AND DEVELOPMEENT.pptx
WEB DESIGNING AND DEVELOPMEENT.pptxNamanGupta785817
 
Introduction to CSS Grid
Introduction to CSS GridIntroduction to CSS Grid
Introduction to CSS GridKara Luton
 
DevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayRachel Andrew
 
Frontend United: Start using CSS Grid Layout today!
Frontend United: Start using CSS Grid Layout today!Frontend United: Start using CSS Grid Layout today!
Frontend United: Start using CSS Grid Layout today!Rachel Andrew
 

Similar to CSS Grid Layout. Specification overview. Implementation status and roadmap (BlinkOn 2 2014) (20)

What I discovered about layout vis CSS Grid
What I discovered about layout vis CSS GridWhat I discovered about layout vis CSS Grid
What I discovered about layout vis CSS Grid
 
Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout
 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid Layout
 
Talk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid LayoutTalk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid Layout
 
Introduction to CSS Grid
Introduction to CSS GridIntroduction to CSS Grid
Introduction to CSS Grid
 
Devoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid LayoutDevoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid Layout
 
An Event Apart SF: CSS Grid Layout
An Event Apart SF: CSS Grid LayoutAn Event Apart SF: CSS Grid Layout
An Event Apart SF: CSS Grid Layout
 
CSS Grid for html5j
CSS Grid for html5jCSS Grid for html5j
CSS Grid for html5j
 
Start Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJS
 
Would you like some Grids with that?
Would you like some Grids with that?Would you like some Grids with that?
Would you like some Grids with that?
 
The Grid - The Future of CSS Layout
The Grid - The Future of CSS LayoutThe Grid - The Future of CSS Layout
The Grid - The Future of CSS Layout
 
CSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzCSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, Linz
 
Introduction to CSS Grid Layout
Introduction to CSS Grid LayoutIntroduction to CSS Grid Layout
Introduction to CSS Grid Layout
 
2D Page Layout
2D Page Layout2D Page Layout
2D Page Layout
 
CSS Grid Layout
CSS Grid LayoutCSS Grid Layout
CSS Grid Layout
 
CSS Grid Layout
CSS Grid LayoutCSS Grid Layout
CSS Grid Layout
 
WEB DESIGNING AND DEVELOPMEENT.pptx
WEB DESIGNING AND DEVELOPMEENT.pptxWEB DESIGNING AND DEVELOPMEENT.pptx
WEB DESIGNING AND DEVELOPMEENT.pptx
 
Introduction to CSS Grid
Introduction to CSS GridIntroduction to CSS Grid
Introduction to CSS Grid
 
DevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout today
 
Frontend United: Start using CSS Grid Layout today!
Frontend United: Start using CSS Grid Layout today!Frontend United: Start using CSS Grid Layout today!
Frontend United: Start using CSS Grid Layout today!
 

More from Igalia

Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JITIgalia
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerIgalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in MesaIgalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera LinuxIgalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVMIgalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesIgalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webIgalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersIgalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Igalia
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic APIIgalia
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepIgalia
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESMIgalia
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...Igalia
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023Igalia
 

More from Igalia (20)

Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic API
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by Step
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESM
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023
 

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

CSS Grid Layout. Specification overview. Implementation status and roadmap (BlinkOn 2 2014)

  • 1.
  • 2. CSS Grid Layout Specification overview. Implementation status and roadmap. Manuel Rego Casasnovas - rego@igalia.com BlinkOn 2 (Zurich) - 13-14 May 2014
  • 3. About Igalia & me #cssgrid #blinkon #igalia Igalia is an Open Source consultancy founded in 2001. Member of Igalia Browsers Team. Blink and WebKit committer. Working on CSS standards: · · · · CSS Grid Layout CSS Regions - - 3/28
  • 4. CSS Grid Layout “allows authors to easily define complex, responsive 2-dimensional layouts” by Tab Atkins Jr. (Google) at CSS WG Blog source: http://www.w3.org/blog/CSS/2014/01/23/css-grid-draft-updated/
  • 5. CSS Grid Layout | Introduction #cssgrid #blinkon #igalia Grid based designs were first done using tables and more recently floating divs. Those approaches have issues and a lot of complexity. Lots of CSS frameworks emerging to make things easier. CSS Grid Layout is a powerful and flexible standard defined by the W3C. · · · · 5/28
  • 6. CSS Grid Layout | Introduction #cssgrid #blinkon #igalia CSS Grid Layout provides a mechanism to divide the available space in rows and columns with a set of predictable sizing behaviors. This defines a set of grid areas where designers can precisely place the elements of a web page. The Grid Layout spec can be used to intelligently reflow elements within a web page optimizing locations and sizes depending on the device where the page is rendered in. · · · 6/28
  • 7. CSS Grid Layout | Concepts #cssgrid #blinkon #igalia Grid lines are the horizontal and vertical dividing lines of the grid. · 7/28
  • 8. CSS Grid Layout | Concepts #cssgrid #blinkon #igalia Grid track is a generic term for a grid column . 8/28
  • 9. CSS Grid Layout | Concepts #cssgrid #blinkon #igalia Grid track is a generic term for a grid row. 9/28
  • 10. CSS Grid Layout | Concepts #cssgrid #blinkon #igalia Grid cell is the space between two adjacent row and two adjacent column grid lines. 10/28
  • 11. CSS Grid Layout | Concepts #cssgrid #blinkon #igalia Grid area is the logical space used to lay out one or more grid items. It is bound by four grid lines, one on each side of the grid area. 11/28
  • 12. CSS Grid Layout | Syntax #cssgrid #blinkon #igalia .grid { display: grid; grid-template-columns: 200px 1fr; grid-template-rows: 100px 1fr auto; } .title { grid-column: 1; grid-row: 1; } .menu { grid-column: 1; grid-row: 2 / span 2; } .main { grid-column: 2; grid-row: 1 / span 2; } .footer { grid-column: 2; grid-row: 3; } CSS display: grid: Defines a grid container. grid-template-columns and grid-template-rows: Specify the track breadths. grid-column and grid-row: Determine a grid item's size and location within the grid. · · · <div class="grid"> <div class="title">Title</div> <div class="menu">Menu</div> <div class="main">Main</div> <div class="footer">Footer</div> </div> HTML 12/28
  • 13. CSS Grid Layout | Track Breadths #cssgrid #blinkon #igalia Options:· length percentage flex (fr - free space - unit) max-content min-content minmax(min, max) auto - - - - - - - 13/28
  • 14. CSS Grid Layout | Flexible Track Breadths #cssgrid #blinkon #igalia Flexible track breadths will grow or shrink and automatically adapt themselves to viewport size. · 14/28
  • 15. CSS Grid Layout | Flexible Track Breadths #cssgrid #blinkon #igalia This allows to create very customized grids, defining flexible tracks with minimum and maximum breadths depending on their contents or the available free space left by the rest of tracks and viewport size. · 15/28
  • 16. CSS Grid Layout | Responsive Layout #cssgrid #blinkon #igalia CSS Grid Layout can be used combined with other CSS features to create responsive designs. For example previous case can be adapted to portrait mode if the screen orientation changes using Media Queries. · · 16/28
  • 17. CSS Grid Layout | Responsive Layout #cssgrid #blinkon #igalia @media (orientation: portrait) { .grid { grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; } .title { grid-column: 1; grid-row: 1; } .menu { grid-column: 2; grid-row: 1; } .main { grid-column: 1 / span 2; grid-row: 2; } .footer { grid-column: 1 / span 2; grid-row: 3; } } CSS Change grid-template-columns and grid-template-rows. Change position inside the grid of the different items. · · 17/28
  • 18. CSS Grid Layout | Examples #cssgrid #blinkon #igalia Enable experimental Web Platform features: chrome://flags/#enable-experimental-web-platform-features GitHub repository with different examples: http://igalia.github.io/css-grid-layout/ Video: https://www.youtube.com/watch?v=nsWtMN54bEI · · Responsive grid: http://igalia.github.io/css-grid-layout/responsive-grid.html Gallery: http://igalia.github.io/css-grid-layout/gallery.html - - · 18/28
  • 19. CSS Grid Layout | Areas & Alignment #cssgrid #blinkon #igalia .grid { display: grid; grid-template-areas: "title title title social" "menu main main social" "menu main main social" "footer footer footer footer"; } .title { grid-area: title; align-self: center; justify-self: center; } .menu { grid-area: menu; align-self: start; } .main { grid-area: main; } .social { grid-area: social; align-self: end; justify-self: right; } .footer { grid-area: footer; align-self: start; } CSS grid-template-areas specifies named grid areas that can be referenced to position grid items. Follows CSS Box Alignment spec for alignment features. · · 19/28
  • 20. CSS Grid Layout | Areas & Alignment #cssgrid #blinkon #igalia 20/28
  • 21. CSS Grid Layout | Auto-placement #cssgrid #blinkon #igalia form { display: grid; grid-auto-flow: row; } label { grid-column: 1; } input, textarea { grid-column: 2; } .controls { grid-column: 1 / span 2; } CSS Grid items can be positioned outside of the grid bounds. This causes the grid container to generate implicit grid tracks, forming the implicit grid. grid-auto-flow controls the direction in which the grid items are automatically placed. · · 21/28
  • 22. CSS Grid Layout | Auto-placement #cssgrid #blinkon #igalia 22/28
  • 23. CSS Grid Layout | Current status #cssgrid #blinkon #igalia Spec (W3C Working Draft, 23 January 2014): http://www.w3.org/TR/css-grid-1/. Main browsers: · · Old version already shipped in IE/Trident. Work in progress in Chromium/Blink (Google and Igalia) and Safari/WebKit (Igalia). Mozilla has started the development in Firefox/Gecko early this year. · · · 23/28
  • 24. CSS Grid Layout | Implementation Status #cssgrid #blinkon #igalia Define grids using all different properties in the spec. Support for named grid lines and named grid areas. All placement options are supported too (both explicit and implicit grid). Track sizing and auto-placement algorithms are already implemented. · · · · 24/28
  • 25. CSS Grid Layout | Roadmap #cssgrid #blinkon #igalia Subgrids (still under discussion inside the CSS WG). Alignment. Fragmentation. Test coverage. Performance optimizations. Support for different writing modes. Selection. · · · · · · · 25/28
  • 26. Acknowledgements #cssgrid #blinkon #igalia Bloomberg is sponsoring our work in CSS Grid Layout.· 26/28
  • 27. Thank You! igalia.com/browsers g+ google.com/+ManuelRegoCasasnovas twitter @regocasasnovas www people.igalia.com/mrego/ github github.com/mrego