SlideShare a Scribd company logo
New layout models on the Web (Mobile World Congress 2014)
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
New layout models on the Web (Mobile World Congress 2014)

More Related Content

PDF
Adventures in Collective Funding
PDF
2021 WebKit Contributors Meeting, Igalia
PDF
SVG in WebKit: Compositing Status
PDF
Inject the Web into your GStreamer pipeline with WPE using a GStreamer/WebKit...
PDF
WebXR and Browsers
PDF
LaCrOs Progress
PDF
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
PDF
The WebKit project (LinuxCon North America 2012)
Adventures in Collective Funding
2021 WebKit Contributors Meeting, Igalia
SVG in WebKit: Compositing Status
Inject the Web into your GStreamer pipeline with WPE using a GStreamer/WebKit...
WebXR and Browsers
LaCrOs Progress
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The WebKit project (LinuxCon North America 2012)

What's hot (15)

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

Viewers also liked (20)

PDF
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
PDF
Taller: Licencias de Software Libre
PDF
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
PDF
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
PDF
CSS Grid Layout w/ Blueprint CSS
PDF
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
PDF
CSS Day: CSS Grid Layout
PDF
CSS Grid Layout for Frontend NE
PDF
AEA Chicago CSS Grid Layout
PDF
Introducing CSS Grid Layout
PDF
CSS Grid Layout
PDF
CSS Grid Layout - All Things Open
PDF
裸裎相見關鍵字
PDF
Gabor Karcis portfolio
PDF
iOS Development with RubyMotion
PDF
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
PDF
Airliner Presentation
PPTX
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
PDF
Best ways to use the ShareASale API
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
Taller: Licencias de Software Libre
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...
CSS Grid Layout. Specification overview. Implementation status and roadmap (B...
CSS Grid Layout w/ Blueprint CSS
CSS Grid Layout from the inside out (HTML5DevConf Autumn 2015)
CSS Day: CSS Grid Layout
CSS Grid Layout for Frontend NE
AEA Chicago CSS Grid Layout
Introducing CSS Grid Layout
CSS Grid Layout
CSS Grid Layout - All Things Open
裸裎相見關鍵字
Gabor Karcis portfolio
iOS Development with RubyMotion
OpenAIRE Guidelines for Literature Repositories, Data Archives and CRIS manag...
Airliner Presentation
Curating Cultures: Digital Technologies and Their Ramifications for Museums a...
Best ways to use the ShareASale API
Ad

Similar to New layout models on the Web (Mobile World Congress 2014) (20)

PDF
Evolution of CSS
PPTX
2D Page Layout
PPT
css-presentation.ppt
PDF
Web I - 07 - CSS Frameworks
PDF
Highly Maintainable, Efficient, and Optimized CSS
PDF
CSS3: Ripe and Ready to Respond
PDF
The Future State of Layout
PDF
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
PDF
SMACSS Workshop
PDF
CSS3: Simply Responsive
PDF
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
PPTX
MW2011 Grid-based Web Design presentation
PDF
The New CSS Layout - Dutch PHP Conference
PDF
Introduction to CSS3
PDF
Intro to CSS3
PDF
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
PPTX
Class15
PPT
css_1.ppt
PPT
css-presentation css file with your content add-ins for PowerPoint lets you c...
PDF
CSS vs. JavaScript - Trust vs. Control
Evolution of CSS
2D Page Layout
css-presentation.ppt
Web I - 07 - CSS Frameworks
Highly Maintainable, Efficient, and Optimized CSS
CSS3: Ripe and Ready to Respond
The Future State of Layout
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
SMACSS Workshop
CSS3: Simply Responsive
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
MW2011 Grid-based Web Design presentation
The New CSS Layout - Dutch PHP Conference
Introduction to CSS3
Intro to CSS3
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Class15
css_1.ppt
css-presentation css file with your content add-ins for PowerPoint lets you c...
CSS vs. JavaScript - Trust vs. Control

More from Igalia (20)

PDF
Life of a Kernel Bug Fix
PDF
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
PDF
Advancing WebDriver BiDi support in WebKit
PDF
Jumping Over the Garden Wall - WPE WebKit on Android
PDF
Collective Funding, Governance and Prioritiation of Browser Engine Projects
PDF
Don't let your motivation go, save time with kworkflow
PDF
Solving the world’s (localization) problems
PDF
The Whippet Embeddable Garbage Collection Library
PDF
Nobody asks "How is JavaScript?"
PDF
Getting more juice out from your Raspberry Pi GPU
PDF
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
PDF
Demystifying Temporal: A Deep Dive into JavaScript New Temporal API
PDF
CSS :has() Unlimited Power
PDF
Device-Generated Commands in Vulkan
PDF
Current state of Lavapipe: Mesa's software renderer for Vulkan
PDF
Vulkan Video is Open: Application showcase
PDF
Scheme on WebAssembly: It is happening!
PDF
EBC - A new backend compiler for etnaviv
PDF
RISC-V LLVM State of the Union
PDF
Device-Generated Commands in Vulkan
Life of a Kernel Bug Fix
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Advancing WebDriver BiDi support in WebKit
Jumping Over the Garden Wall - WPE WebKit on Android
Collective Funding, Governance and Prioritiation of Browser Engine Projects
Don't let your motivation go, save time with kworkflow
Solving the world’s (localization) problems
The Whippet Embeddable Garbage Collection Library
Nobody asks "How is JavaScript?"
Getting more juice out from your Raspberry Pi GPU
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
Demystifying Temporal: A Deep Dive into JavaScript New Temporal API
CSS :has() Unlimited Power
Device-Generated Commands in Vulkan
Current state of Lavapipe: Mesa's software renderer for Vulkan
Vulkan Video is Open: Application showcase
Scheme on WebAssembly: It is happening!
EBC - A new backend compiler for etnaviv
RISC-V LLVM State of the Union
Device-Generated Commands in Vulkan

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
August Patch Tuesday
PPTX
A Presentation on Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
TLE Review Electricity (Electricity).pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Weekly Chronicles - August'25-Week II
August Patch Tuesday
A Presentation on Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Assigned Numbers - 2025 - Bluetooth® Document
OMC Textile Division Presentation 2021.pptx
Unlocking AI with Model Context Protocol (MCP)
Network Security Unit 5.pdf for BCA BBA.
TLE Review Electricity (Electricity).pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Heart disease approach using modified random forest and particle swarm optimi...
Mobile App Security Testing_ A Comprehensive Guide.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf

New layout models on the Web (Mobile World Congress 2014)

  • 2. New layout models on the Web Implementing CSS3 Standards: CSS Grid Layout & CSS Regions Juan J. Sánchez - [email protected] Xavier Castaño - [email protected] 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 - [email protected] Xavier Castaño - [email protected] Igalia