SlideShare a Scribd company logo
1 of 32
Download to read offline
New layout models on the Web
Implementing CSS3 Standards: CSS Grid Layout & CSS Regions
Juan J. Sánchez - jjsanchez@igalia.com
Xavier Castaño - xcastanho@igalia.com
Igalia
W3C Booth | Mobile World Congress (Barcelona) - 24-27 February 2014
Igalia
#igalia #W3C #MWC14
Open Source consultancy founded in 2001.
Top external contributor to WebKit and Blink.
Member of the W3C, contributing in different topics like
CSS standards and accessibility.
·
·
·
CSS Grid Layout in Blink and Webkit.
CSS Regions in WebKit.
CSS Flexible Box Layout and CSS Variables in the
past.
-
-
-
3/32
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
#igalia #W3C #MWC14
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 one of them: a powerful and flexible
mechanism defined by the W3C.
·
·
·
·
5/32
CSS Grid Layout | Introduction
Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.
0:000:00
#igalia #W3C #MWC14 6/32
CSS Grid Layout | Concepts
#igalia #W3C #MWC14
Grid lines are the
horizontal and vertical
dividing lines of the grid.
·
7/32
CSS Grid Layout | Concepts
#igalia #W3C #MWC14
Grid track is a generic term
for a grid column
.
8/32
CSS Grid Layout | Concepts
#igalia #W3C #MWC14
Grid track is a generic term
for a grid
row.
9/32
CSS Grid Layout | Concepts
#igalia #W3C #MWC14
Grid cell is the space
between two adjacent row
and two adjacent column
grid lines.
10/32
CSS Grid Layout | Concepts
#igalia #W3C #MWC14
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/32
CSS Grid Layout | Syntax
#igalia #W3C #MWC14
.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/32
CSS Grid Layout | Track Breadths
#igalia #W3C #MWC14
Options:·
length
percentage
flex (fr - free space - unit)
max-content
min-content
minmax(min, max)
auto
-
-
-
-
-
-
-
13/32
CSS Grid Layout | Demo
Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.
0:000:00
#igalia #W3C #MWC14 14/32
CSS Grid Layout | Areas & Alignment
#igalia #W3C #MWC14
.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.
·
·
15/32
CSS Grid Layout | Areas & Alignment
#igalia #W3C #MWC14 16/32
CSS Grid Layout | Current status
#igalia #W3C #MWC14
Spec (W3C Working Draft, 23 January 2014):
http://www.w3.org/TR/css-grid-1/.
Main browsers:
·
·
Already shipped in IE/Trident.
Work in progress in Chromium/Blink (Google and
Igalia) and Safari/WebKit (Igalia).
Firefox/Gecko has plans to implement it but work has
not started yet.
·
·
·
17/32
CSS Grid Layout | Status in WebKit and Blink
#igalia #W3C #MWC14
Done:
Work in progress:
·
Grid properties, named grid lines and named grid areas
supported.
Placement options, track breadths and layout grid items are
also implemented.
-
-
·
Alignment.
Performance optimizations.
Support for different writing modes.
Selection.
Subgrids (out of Working Draft for now).
-
-
-
-
-
18/32
CSS Regions
“make it easier than ever to create rich, magazine-like layouts within web
content”
by Beth Dakin (Apple) and Mihnea-Vlad Ovidenie (Adobe)
at Surfin' Safari - The WebKit Blog
source: https://www.webkit.org/blog/3078/advanced-layout-made-easy-with-css-regions/
CSS Regions | Introduction
#igalia #W3C #MWC14
Allowing to flow content into existing styled containers is
currently very difficult.
CSS regions enable you to link HTML elements so that text
overflow from one region automatically flows into the
next region
It is a powerful and flexible mechanism defined by the
W3C.
·
·
·
20/32
CSS Regions | Introduction
Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.
0:000:00
#igalia #W3C #MWC14 21/32
CSS Regions | Concepts
#igalia #W3C #MWC14
Named flow is the content that will be displayed into the different
regions.
Region is a block container that has an associated named flow.
·
·
22/32
CSS Regions | Syntax
#igalia #W3C #MWC14
.source {
flow-into: content-1;
}
.region {
flow-from: content-1;
}
CSS
flow-into property places an element into a named flow.
flow-from converts a block in a region and associates it with a named flow.
·
·
<div class="source">Lorem ipsum dolor sit amet...</div>
<div class="region" id="region-1"></div>
<div class="region" id="region-2"></div>
<div class="region" id="region-3"></div>
HTML
23/32
CSS Regions | Demo
Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.
0:000:00
#igalia #W3C #MWC14 24/32
CSS Regions | Selection
#igalia #W3C #MWC14
Selection is sometimes
unnatural like in other
layout models
(absolute positions,
flexbox, grid, shadow
DOM).
Igalia is collaborating
with Adobe to make
selection in CSS
Regions spec
compliant.
·
·
25/32
CSS Regions | CSS Fragmentation
#igalia #W3C #MWC14
The fragmentation problem is common to different features like
CSS Paged Media, CSS Multi-column Layout and CSS Regions.
The CSS Fragmentation spec defines the rules for splitting the
content into containers.
The fragmentation containers (fragmentainers) can be pages,
columns or regions depending on the case.
Breaks divide the content into the different fragmentainers.
·
·
·
·
Breaks can be unforced or forced.
Some elements can be marked as unbreakable.
-
-
26/32
CSS Regions | Current Status
#igalia #W3C #MWC14
Spec (W3C Working Draft, 18 February 2014):
http://www.w3.org/TR/css3-regions/
Main browsers:
·
·
Already shipped in IE/Trident and Safari/WebKit
(Adobe with Igalia collaborating on selection).
Chromium/Blink implementation is being removed.
However, CSS Fragmentation is going to be kept.
Firefox/Gecko do not plan to implement it.
·
·
·
27/32
CSS Regions | Status in WebKit
#igalia #W3C #MWC14
Done:
Work in progress:
·
Named flows and regions are fully functional.
Support to manage regions overflow.
JavaScript objects available to manipulate regions.
-
-
-
·
Selection. Igalia has a working prototype.
Region styling support (only color and background for now).
-
-
28/32
Conclusions
#igalia #W3C #MWC14
Creating nice layout and content designs on the Web was
challenging.
Solutions: CSS Grid Layout and CSS Regions combined
with other specs like CSS Shapes and/or Media Queries.
Igalia and others are working on getting this implemented
in the main browsers.
·
Complex layouts.
Responsiveness to different screen sizes.
Nice magazine contents on the Web.
Flowing content into existing styled containers.
-
-
-
-
·
·
29/32
Collaborations
#igalia #W3C #MWC14
Bloomberg is
sponsoring our work
in CSS Grid Layout.
Igalia partners with
Adobe to collaborate
in CSS Regions.
·
·
30/32
Thank You!
igalia.com/contact - igalia.com/browsers
Juan J. Sánchez - jjsanchez@igalia.com
Xavier Castaño - xcastanho@igalia.com
Igalia
CSS Grid Layout & Regions: New layout models on the Web

More Related Content

What's hot

Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Igalia
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)Igalia
 
Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Karambir Singh Nain
 
Webkit overview
Webkit overviewWebkit overview
Webkit overviewEun Cho
 
"Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene..."Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene...GWTcon
 
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)Igalia
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoGWTcon
 
Unirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario CarotenutoUnirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario CarotenutoGWTcon
 
Servo: The parallel web engine
Servo: The parallel web engineServo: The parallel web engine
Servo: The parallel web engineBruno Abinader
 
Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)ryuan choi
 
.NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B...
.NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B....NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B...
.NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B...NETFest
 
Q tales project - WebGL
Q tales project - WebGLQ tales project - WebGL
Q tales project - WebGLqtales
 

What's hot (15)

Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)
 
Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3
 
CollegeDiveIn presentation
CollegeDiveIn presentationCollegeDiveIn presentation
CollegeDiveIn presentation
 
Webkit overview
Webkit overviewWebkit overview
Webkit overview
 
"Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene..."Jclays, A global solution for application design and automatic GWT code gene...
"Jclays, A global solution for application design and automatic GWT code gene...
 
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 
Unirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario CarotenutoUnirex Lean tools By Dario Carotenuto
Unirex Lean tools By Dario Carotenuto
 
How Servo Renders the Web
How Servo Renders the WebHow Servo Renders the Web
How Servo Renders the Web
 
Servo: The parallel web engine
Servo: The parallel web engineServo: The parallel web engine
Servo: The parallel web engine
 
Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
.NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B...
.NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B....NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B...
.NET Fest 2018. Martin Ullrich. MSBuild: Understand and Customize Your .NET B...
 
Q tales project - WebGL
Q tales project - WebGLQ tales project - WebGL
Q tales project - WebGL
 

Viewers also liked

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
 
Taller: Licencias de Software Libre
Taller: Licencias de Software LibreTaller: Licencias de Software Libre
Taller: Licencias de Software LibreIgalia
 
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...Igalia
 
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 w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS Steve Hong
 
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 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
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis
 
iOS Development with RubyMotion
iOS Development with RubyMotioniOS Development with RubyMotion
iOS Development with RubyMotionInvisiblelines
 
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...OpenAIRE
 
Airliner Presentation
Airliner PresentationAirliner Presentation
Airliner Presentationcpatten
 
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...agnes.stauber
 
Best ways to use the ShareASale API
Best ways to use the ShareASale APIBest ways to use the ShareASale API
Best ways to use the ShareASale APIericnagel
 

Viewers also liked (20)

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...
 
Taller: Licencias de Software Libre
Taller: Licencias de Software LibreTaller: Licencias de Software Libre
Taller: Licencias de Software Libre
 
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
 
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 w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout w/ Blueprint CSS
 
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 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
CSS Grid LayoutCSS Grid Layout
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
 
裸裎相見關鍵字
裸裎相見關鍵字裸裎相見關鍵字
裸裎相見關鍵字
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolio
 
MakkelijkLezenPlein deel 2 Theek 5
MakkelijkLezenPlein deel 2 Theek 5MakkelijkLezenPlein deel 2 Theek 5
MakkelijkLezenPlein deel 2 Theek 5
 
iOS Development with RubyMotion
iOS Development with RubyMotioniOS Development with RubyMotion
iOS Development with RubyMotion
 
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
 
Airliner Presentation
Airliner PresentationAirliner Presentation
Airliner Presentation
 
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
 
Best ways to use the ShareASale API
Best ways to use the ShareASale APIBest ways to use the ShareASale API
Best ways to use the ShareASale API
 

Similar to CSS Grid Layout & Regions: New layout models on the Web

2D Page Layout
2D Page Layout2D Page Layout
2D Page LayoutUnfold UI
 
css-presentation.ppt
css-presentation.pptcss-presentation.ppt
css-presentation.pptMonishaAb1
 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksRandy Connolly
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSZoe Gillenwater
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondDenise Jacobs
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of LayoutStephen Hay
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Four Kitchens
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply ResponsiveDenise Jacobs
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Four Kitchens
 
MW2011 Grid-based Web Design presentation
MW2011 Grid-based Web Design presentationMW2011 Grid-based Web Design presentation
MW2011 Grid-based Web Design presentationCharlie Moad
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceRachel Andrew
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3Doris Chen
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Four Kitchens
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 

Similar to CSS Grid Layout & Regions: New layout models on the Web (20)

Evolution of CSS
Evolution of CSSEvolution of CSS
Evolution of CSS
 
2D Page Layout
2D Page Layout2D Page Layout
2D Page Layout
 
css-presentation.ppt
css-presentation.pptcss-presentation.ppt
css-presentation.ppt
 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS Frameworks
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSS
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to Respond
 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
 
SMACSS Workshop
SMACSS WorkshopSMACSS Workshop
SMACSS Workshop
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply Responsive
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
 
MW2011 Grid-based Web Design presentation
MW2011 Grid-based Web Design presentationMW2011 Grid-based Web Design presentation
MW2011 Grid-based Web Design presentation
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP Conference
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
 
Intro to CSS3
Intro to CSS3Intro to CSS3
Intro to CSS3
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
 
Class15
Class15Class15
Class15
 
css_1.ppt
css_1.pptcss_1.ppt
css_1.ppt
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
World of CSS Grid
World of CSS GridWorld of CSS Grid
World of CSS Grid
 

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

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: 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
 
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
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
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
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: 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
 
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
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
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
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 

CSS Grid Layout & Regions: New layout models on the Web

  • 1.
  • 2. New layout models on the Web Implementing CSS3 Standards: CSS Grid Layout & CSS Regions Juan J. Sánchez - jjsanchez@igalia.com Xavier Castaño - xcastanho@igalia.com Igalia W3C Booth | Mobile World Congress (Barcelona) - 24-27 February 2014
  • 3. Igalia #igalia #W3C #MWC14 Open Source consultancy founded in 2001. Top external contributor to WebKit and Blink. Member of the W3C, contributing in different topics like CSS standards and accessibility. · · · CSS Grid Layout in Blink and Webkit. CSS Regions in WebKit. CSS Flexible Box Layout and CSS Variables in the past. - - - 3/32
  • 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 #igalia #W3C #MWC14 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 one of them: a powerful and flexible mechanism defined by the W3C. · · · · 5/32
  • 6. CSS Grid Layout | Introduction Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported. 0:000:00 #igalia #W3C #MWC14 6/32
  • 7. CSS Grid Layout | Concepts #igalia #W3C #MWC14 Grid lines are the horizontal and vertical dividing lines of the grid. · 7/32
  • 8. CSS Grid Layout | Concepts #igalia #W3C #MWC14 Grid track is a generic term for a grid column . 8/32
  • 9. CSS Grid Layout | Concepts #igalia #W3C #MWC14 Grid track is a generic term for a grid row. 9/32
  • 10. CSS Grid Layout | Concepts #igalia #W3C #MWC14 Grid cell is the space between two adjacent row and two adjacent column grid lines. 10/32
  • 11. CSS Grid Layout | Concepts #igalia #W3C #MWC14 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/32
  • 12. CSS Grid Layout | Syntax #igalia #W3C #MWC14 .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/32
  • 13. CSS Grid Layout | Track Breadths #igalia #W3C #MWC14 Options:· length percentage flex (fr - free space - unit) max-content min-content minmax(min, max) auto - - - - - - - 13/32
  • 14. CSS Grid Layout | Demo Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported. 0:000:00 #igalia #W3C #MWC14 14/32
  • 15. CSS Grid Layout | Areas & Alignment #igalia #W3C #MWC14 .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. · · 15/32
  • 16. CSS Grid Layout | Areas & Alignment #igalia #W3C #MWC14 16/32
  • 17. CSS Grid Layout | Current status #igalia #W3C #MWC14 Spec (W3C Working Draft, 23 January 2014): http://www.w3.org/TR/css-grid-1/. Main browsers: · · Already shipped in IE/Trident. Work in progress in Chromium/Blink (Google and Igalia) and Safari/WebKit (Igalia). Firefox/Gecko has plans to implement it but work has not started yet. · · · 17/32
  • 18. CSS Grid Layout | Status in WebKit and Blink #igalia #W3C #MWC14 Done: Work in progress: · Grid properties, named grid lines and named grid areas supported. Placement options, track breadths and layout grid items are also implemented. - - · Alignment. Performance optimizations. Support for different writing modes. Selection. Subgrids (out of Working Draft for now). - - - - - 18/32
  • 19. CSS Regions “make it easier than ever to create rich, magazine-like layouts within web content” by Beth Dakin (Apple) and Mihnea-Vlad Ovidenie (Adobe) at Surfin' Safari - The WebKit Blog source: https://www.webkit.org/blog/3078/advanced-layout-made-easy-with-css-regions/
  • 20. CSS Regions | Introduction #igalia #W3C #MWC14 Allowing to flow content into existing styled containers is currently very difficult. CSS regions enable you to link HTML elements so that text overflow from one region automatically flows into the next region It is a powerful and flexible mechanism defined by the W3C. · · · 20/32
  • 21. CSS Regions | Introduction Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported. 0:000:00 #igalia #W3C #MWC14 21/32
  • 22. CSS Regions | Concepts #igalia #W3C #MWC14 Named flow is the content that will be displayed into the different regions. Region is a block container that has an associated named flow. · · 22/32
  • 23. CSS Regions | Syntax #igalia #W3C #MWC14 .source { flow-into: content-1; } .region { flow-from: content-1; } CSS flow-into property places an element into a named flow. flow-from converts a block in a region and associates it with a named flow. · · <div class="source">Lorem ipsum dolor sit amet...</div> <div class="region" id="region-1"></div> <div class="region" id="region-2"></div> <div class="region" id="region-3"></div> HTML 23/32
  • 24. CSS Regions | Demo Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported.Video format or MIME type is not supported. 0:000:00 #igalia #W3C #MWC14 24/32
  • 25. CSS Regions | Selection #igalia #W3C #MWC14 Selection is sometimes unnatural like in other layout models (absolute positions, flexbox, grid, shadow DOM). Igalia is collaborating with Adobe to make selection in CSS Regions spec compliant. · · 25/32
  • 26. CSS Regions | CSS Fragmentation #igalia #W3C #MWC14 The fragmentation problem is common to different features like CSS Paged Media, CSS Multi-column Layout and CSS Regions. The CSS Fragmentation spec defines the rules for splitting the content into containers. The fragmentation containers (fragmentainers) can be pages, columns or regions depending on the case. Breaks divide the content into the different fragmentainers. · · · · Breaks can be unforced or forced. Some elements can be marked as unbreakable. - - 26/32
  • 27. CSS Regions | Current Status #igalia #W3C #MWC14 Spec (W3C Working Draft, 18 February 2014): http://www.w3.org/TR/css3-regions/ Main browsers: · · Already shipped in IE/Trident and Safari/WebKit (Adobe with Igalia collaborating on selection). Chromium/Blink implementation is being removed. However, CSS Fragmentation is going to be kept. Firefox/Gecko do not plan to implement it. · · · 27/32
  • 28. CSS Regions | Status in WebKit #igalia #W3C #MWC14 Done: Work in progress: · Named flows and regions are fully functional. Support to manage regions overflow. JavaScript objects available to manipulate regions. - - - · Selection. Igalia has a working prototype. Region styling support (only color and background for now). - - 28/32
  • 29. Conclusions #igalia #W3C #MWC14 Creating nice layout and content designs on the Web was challenging. Solutions: CSS Grid Layout and CSS Regions combined with other specs like CSS Shapes and/or Media Queries. Igalia and others are working on getting this implemented in the main browsers. · Complex layouts. Responsiveness to different screen sizes. Nice magazine contents on the Web. Flowing content into existing styled containers. - - - - · · 29/32
  • 30. Collaborations #igalia #W3C #MWC14 Bloomberg is sponsoring our work in CSS Grid Layout. Igalia partners with Adobe to collaborate in CSS Regions. · · 30/32
  • 31. Thank You! igalia.com/contact - igalia.com/browsers Juan J. Sánchez - jjsanchez@igalia.com Xavier Castaño - xcastanho@igalia.com Igalia