SlideShare a Scribd company logo
1 of 61
Download to read offline
The Future of
                        CSS Layout
October 22, 2012         by Zoe Mickley Gillenwater
Future of Web Design                      @zomigi
                                        zomigi.com
What I do
      Books                         Web
      Stunning CSS3:                Accessibility
      A Project-based Guide to      specialist at AT&T
      the Latest in CSS
                                    Visual designer
      www.stunningcss3.com
                                    CSS developer
                                    and consultant
      Flexible Web Design:
      Creating Liquid and Elastic
      Layouts with CSS
      www.flexiblewebbook.com

                                                         2
the past
table layout



               3
Problems with table layout
ā€¢   Complicated/bulky markup
ā€¢   Accessibility problems
ā€¢   Slower browser rendering
ā€¢   Rigid designs
ā€¢   Spacer gifs




                               4
the present
 float layout



                5
Advantages of floats in layout
ā€¢ Less HTML than tables
ā€¢ More flexibility to change layout than tables
ā€¢ Can change visual order to not match
  HTML (somewhat)
ā€¢ Other content aware of floats' presence
ā€¢ Can use clear to get blocks out of the way




                                                  6
Problems with float layout
ā€¢ Visual location tied to HTML order
  (somewhat)
ā€¢ Wrapping/float drop
ā€¢ Difficulty with containment
ā€¢ Difficulty with equal-height columns
ā€¢ No float:center




                                         7
?
 what are the
alternatives



                8
Alternative: display inline-block


     ļƒ¼            ļƒ¼            ļƒ¼         ļƒ¼   ļƒ¼
                                                 *

*   only partial support in IE 7 and 6


                                                 9
I wish my parents
would stop treating
 me like Iā€™m inline.
Canā€™t they see Iā€™m a
     block now?




                       10
Use: centered nav bar
nav ul {
  margin: 0;
  padding: 0;
  border-bottom: 3px solid #fff;
   list-style: none;
   text-align: center; }
nav li {
   display: inline-block;
   vertical-align: bottom;
   margin: 0 .2em;
   padding: .3em .5em; ... }
                                   11
Use: centered nav bar




ā€¢   List horizontally centered
ā€¢   Links aligned on bottom
ā€¢   Links have top and bottom padding
ā€¢   Links can be different heights
ā€¢   List contains links (see its bottom border)
                                                  12
Alternative: display table-cell


     ļƒ¼             ļƒ¼         ļƒ¼   ļƒ¼   ļƒ¼
                                         *

*   only in IE 8 and later


                                         13
How table display works
ā€¢ Makes boxes act like table equivalents
  ā€¢ Example: boxes with display:table-cell
    act like <td> and sit on same line
ā€¢ Good for grid-like layouts
ā€¢ Disadvantage: tied to HTML order




                                             14
Use: hybrid fixed-fluid layout
section {
   display: table;
   table-layout: fixed;
   width: 100%; }
article {
   display: table-cell;
   padding: 10px;
   vertical-align: top; }
article.fixed {
   width:250px; }


                                 15
Use: hybrid fixed-fluid layout




                                 16
the future
a whole bunch of CSS3



                        17
CSS3 ā€œcontent-flowā€ modules
ā€¢ Multi-column Layout: flow a boxā€™s content
  into multiple columns in that box
ā€¢ Regions: flow content into multiple,
  separate boxes
ā€¢ Exclusions and Shapes: make content
  flow around and within areas in more
  intricate ways than floating



                                              18
Grid Template Layout
http://dev.w3.org/csswg/css3-layout/


      X            X   X      X        10


                                            *

*   with -ms- prefix

                                            19
How grid template works
Define invisible grid of rows and columns
and specify which pieces of content go into
which ā€œslotā€

body {
  grid: "a a a a"                   a
        "b c c d"
}                           ļƒØ   b   c    d
nav     {   flow:   a   }
#main   {   flow:   c   }
aside   {   flow:   d   }
#news   {   flow:   b   }
                                              20
How grid template works
Define invisible grid of rows and columns
and specify which pieces of content go into
which ā€œslotā€

body {
  grid: "c d"                  c       d
         "b b"
         "a a"           ļƒØ
}
                                   b
nav    { flow:   a   }
#main { flow:    c   }
aside { flow:    d   }
#news { flow:    b   }             a
                                              21
How grid template works
Use ::slot to style slots with:
ā€¢   overflow             ā€¢   background properties
ā€¢   margin properties    ā€¢   column properties
ā€¢   padding properties   ā€¢   vertical-align
ā€¢   border properties    ā€¢   writing-mode
ā€¢   box-shadow           ā€¢   direction
ā€¢   box-decoration-break

For example: body::slot(c) {
               background: #7FD13B;
               vertical-align: top;
             }
                                                     22
Flexible Box Layout
www.w3.org/TR/css3-flexbox/


     21            X           12.1       X      X
                           ā€ 
           *

*
ā€ 
    with -webkit- prefix
    can be switched on in version 18 nightlies
                                                     23
How flexbox works
ā€¢ Make boxes automatically grow to fill
  space or shrink to avoid overflow
ā€¢ Give boxes proportional measurements
ā€¢ Lay out boxes in any direction
ā€¢ Align boxes on any side
ā€¢ Place boxes out of order from HTML




                                          24
Letā€™s try
flexbox
out on
this page




            25
Original CSS




.feature {
   float: left;
  width: 30%;
  margin: 0 4.5% 0 0;
  padding: 130px 0 0 0;
}
                          26
Create a flex container
<div id="features-wrapper">
   <div class="feature" id="feature-candy">
     ...</div>
   <div class="feature" id="feature-pastry">
     ...</div>
   <div class="feature" id="feature-dessert">
     ...</div>
</div>
                         Make sure to add the
#features-wrapper {      -moz, -ms, and -webkit
                         prefixed values and
   display: flex;        properties in real life!
}                                                 27
Specify direction of flex items
#features-wrapper {
   display: flex;
   flex-direction: row;                 default value
}

Could switch to vertical stacking in mobile/narrow-screen
media query:
#features-wrapper {
   display: flex;
   flex-direction: column;
}

                                                            28
Make flex items flexible
.feature {
   flex: 1 1 0px;
   margin-right: 40px;
  padding: 130px 0 0 0; }




                            29
Make flex items flexible
.feature {
   flex: 1 1 0px;
   margin-right: 40px;      flex basis
  padding: 130px 0 0 0; }
                            flex shrink factor
Same as:
                            flex grow factor
.feature {
  flex: 1;
  margin-right: 40px;
  padding: 130px 0 0 0; }


                                                 30
Add a fourth feature box
<div id="features-wrapper">
   <div class="feature" id="feature-candy">
     ...</div>
   <div class="feature" id="feature-pastry">
     ...</div>
   <div class="feature" id="feature-dessert">
     ...</div>
  <div class="feature" id="feature-bread">
     ...</div>
</div>


                                                31
All boxes adjust in width




                            32
Donā€™t need to do this anymore
.2up .feature { width: 45%; ... }
.3up .feature { width: 30%; ... }
.4up .feature { width: 22%; ... }




                                    33
Highlight a sale category
.sale {
   padding: 130px 20px 20px 20px;
   border-radius: 3px;
   background-color: hsla(0,0%,100%,.4);
}


What percentage width would I set to make
this twice as wide as other boxes, if I werenā€™t
using flex?

                                                  34
Make sale box twice as wide




.sale {
  flex: 2;
  padding: 130px 20px 20px 20px;
  border-radius: 3px;
  background-color: hsla(0,0%,100%,.4);
}
                                          35
Default equal-height columns!
#features-wrapper {
  display: flex;
  align-items: stretch;
}


This is the default value, so we donā€™t need to
actually set this property, but this shows you
what it looks like.


                                                 36
Vertical centering with ease!




#features-wrapper {
  display: flex;
  align-items: center;
}
                                37
Visual order = HTML order




                            38
Move sale box to front of line
.sale {
  order: -1;
  flex: 2;
  padding: 130px 20px 20px 20px;
  border-radius: 3px;
  background-color: hsla(0,0%,100%,.4);
}


Default order value is 0 for all flex items, so
-1 moves this one before others
                                                  39
New visual order, same HTML




                              40
Accessibility implications
ā€¢ Pro: keep content in logical order in HTML
  instead of structuring HTML to achieve
  visual layout
ā€¢ Con: focus/tab order wonā€™t always match
  expected order, may jump around
  seemingly randomly




                                               41
Columns are too narrow




                         42
Create multi-line flex container
#features-wrapper {
  display: flex;
  flex-wrap: wrap;         Allow children flex items
                           to wrap to multiple lines
}
.sale {
  order: -1;               Make box fill line
  flex: 1 1 100%;          Remove gap to right,
  margin: 0 0 20px 0;      add space below
  padding: 130px 20px 20px 20px;
  border-radius: 3px;
  background-color: hsla(0,0%,100%,.4);
}                                                    43
Flex items can now wrap




                          44
Change icon position
.sale {
  order: -1;
  flex: 1 1 100%;
  margin: 0 0 20px 0;
  padding: 20px 20px 1px 170px;
  border-radius: 3px;
  background-color: hsla(0,0%,100%,.4);
  background-position: 20px 0;
}



                                          45
Final layout




               46
use flexbox now for
progressive enhancement
            ļƒ¼
                          47
How can I make this form:
ā€¢ Display on a single line with image
ā€¢ Vertically centered with image
ā€¢ Span full-width of container




                                        48
Inline-block achieves:
ļƒ¼Display on a single line with image
ļƒ¼Vertically centered with image
X Span full-width of container




                                       49
Different units make life hard
  Pixels
  Ems
  Some mystery percentage




                                 50
Make the text input flex
#order, #order form {       Make outer div and form
   display: flex;           into flex containers
   align-items: center; }   Vertically center kiddos
#order form {
                            Make form take up all
   flex: 1; }               space next to image
#order #message {
                            Make text input take up
   flex: 1;                 all space in form left
   min-width: 7em;          after label and button
  margin: 0 5px; }          But donā€™t let it get crazy-
                            small


                                                          51
Use inline-block with flexbox




                                52
Use inline-block with flexbox
#order img, #order form {
  display: inline-block;
  vertical-align: middle; }
#order, #order form {
   display: flex;
   align-items: center; }
#order form {
   flex: 1; }
#order #message {
   flex: 1;
   min-width: 7em;
  margin: 0 5px; }              53
Full-width nav bar




nav ul {              nav li {
  display: table;       display: table-cell;
  width: 100%;          text-align: center; }
  margin: 0;
  padding: 0;
  list-style: none; }
                                            54
Not so hot with no backgrounds
            Uneven spacing




          Donā€™t like these gaps


                                  55
Even spacing with flexbox




nav ul {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none; }
                                    56
Use inline-block with flexbox




                                57
Use inline-block with flexbox
nav ul {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
nav li {
   display: inline-block;
}
                                    58
Or use Modernizr script
http://modernizr.com
nav ul {               nav li {
   display: table;        display: table-cell;
   width: 100%;        }
   margin: 0;          .flexbox nav li {
   padding: 0;            display: list-item;
   list-style: none;   }
}
.flexbox nav ul {
   display: flex;
}
                                             59
go forth and
practice
    ļƒ¼
               60
Learn more
Download slides and get links at
http://zomigi.com/blog/future-css-layout-fowd




Zoe Mickley Gillenwater
@zomigi
design@zomigi.com
zomigi.com | stunningcss3.com | flexiblewebbook.com

Title photo by Gilderic Photography (http://www.flickr.com/photos/gilderic/6885830288/)
Rocket designed by Jason Peters from The Noun Project                                     61

More Related Content

What's hot

CSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzCSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzRachel 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
Ā 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid LayoutRachel Andrew
Ā 
Fluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS LayoutFluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS LayoutRachel Andrew
Ā 
But what about old browsers?
But what about old browsers?But what about old browsers?
But what about old browsers?Rachel Andrew
Ā 
CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout Rachel Andrew
Ā 
Laracon Online: Grid and Flexbox
Laracon Online: Grid and FlexboxLaracon Online: Grid and Flexbox
Laracon Online: Grid and FlexboxRachel 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
Ā 
Evergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersRachel Andrew
Ā 
An Event Apart Seattle - New CSS Layout Meets the Real World
An Event Apart Seattle - New CSS Layout Meets the Real WorldAn Event Apart Seattle - New CSS Layout Meets the Real World
An Event Apart Seattle - New CSS Layout Meets the Real WorldRachel Andrew
Ā 
Confoo: You can use CSS for that!
Confoo: You can use CSS for that!Confoo: You can use CSS for that!
Confoo: You can use CSS for that!Rachel Andrew
Ā 
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
Ā 
CSS Grid Layout: An Event Apart Boston 2016
CSS Grid Layout: An Event Apart Boston 2016CSS Grid Layout: An Event Apart Boston 2016
CSS Grid Layout: An Event Apart Boston 2016Rachel Andrew
Ā 
GOTO Berlin - You can use CSS for that
GOTO Berlin - You can use CSS for thatGOTO Berlin - You can use CSS for that
GOTO Berlin - You can use CSS for thatRachel Andrew
Ā 
CSS Conf Budapest - New CSS Layout
CSS Conf Budapest - New CSS LayoutCSS Conf Budapest - New CSS Layout
CSS Conf Budapest - New CSS LayoutRachel Andrew
Ā 
Devoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid LayoutDevoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid LayoutRachel Andrew
Ā 
CSS Grid Layout
CSS Grid LayoutCSS Grid Layout
CSS Grid LayoutRachel Andrew
Ā 
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
Ā 

What's hot (20)

CSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzCSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, Linz
Ā 
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
Ā 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid Layout
Ā 
Fluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS LayoutFluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS Layout
Ā 
But what about old browsers?
But what about old browsers?But what about old browsers?
But what about old browsers?
Ā 
CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout
Ā 
Laracon Online: Grid and Flexbox
Laracon Online: Grid and FlexboxLaracon Online: Grid and Flexbox
Laracon Online: Grid and Flexbox
Ā 
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
Ā 
Evergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsers
Ā 
An Event Apart Seattle - New CSS Layout Meets the Real World
An Event Apart Seattle - New CSS Layout Meets the Real WorldAn Event Apart Seattle - New CSS Layout Meets the Real World
An Event Apart Seattle - New CSS Layout Meets the Real World
Ā 
Confoo: You can use CSS for that!
Confoo: You can use CSS for that!Confoo: You can use CSS for that!
Confoo: You can use CSS for that!
Ā 
CSS Grid vs. Flexbox
CSS Grid vs. FlexboxCSS Grid vs. Flexbox
CSS Grid vs. Flexbox
Ā 
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
Ā 
CSS Grid Layout: An Event Apart Boston 2016
CSS Grid Layout: An Event Apart Boston 2016CSS Grid Layout: An Event Apart Boston 2016
CSS Grid Layout: An Event Apart Boston 2016
Ā 
GOTO Berlin - You can use CSS for that
GOTO Berlin - You can use CSS for thatGOTO Berlin - You can use CSS for that
GOTO Berlin - You can use CSS for that
Ā 
CSS Grid
CSS GridCSS Grid
CSS Grid
Ā 
CSS Conf Budapest - New CSS Layout
CSS Conf Budapest - New CSS LayoutCSS Conf Budapest - New CSS Layout
CSS Conf Budapest - New CSS Layout
Ā 
Devoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid LayoutDevoxx Belgium: CSS Grid Layout
Devoxx Belgium: CSS Grid Layout
Ā 
CSS Grid Layout
CSS Grid LayoutCSS Grid Layout
CSS Grid Layout
Ā 
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
Ā 

Viewers also liked

Html5, css3 and the future of web technologies
Html5, css3 and the future of web technologiesHtml5, css3 and the future of web technologies
Html5, css3 and the future of web technologiesVƵ Duy Tuįŗ„n
Ā 
Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Davide Di Pumpo
Ā 
Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)Zoe Gillenwater
Ā 
Mario casas
Mario casasMario casas
Mario casasrubia98
Ā 
XE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³ø
XE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³øXE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³ø
XE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³øXpressEngine
Ā 
Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?DATAVERSITY
Ā 
7 Creativity Principles For User Experience Teams
7 Creativity Principles For User Experience Teams7 Creativity Principles For User Experience Teams
7 Creativity Principles For User Experience TeamsTom Illmensee
Ā 
What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?Netlight Consulting
Ā 
Frames tables forms
Frames tables formsFrames tables forms
Frames tables formsnobel mujuji
Ā 
JavaScript Operators
JavaScript OperatorsJavaScript Operators
JavaScript OperatorsCharles Russell
Ā 
Introdution to HTML 5
Introdution to HTML 5Introdution to HTML 5
Introdution to HTML 5onkar_bhosle
Ā 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5Steven Chipman
Ā 

Viewers also liked (20)

Html5, css3 and the future of web technologies
Html5, css3 and the future of web technologiesHtml5, css3 and the future of web technologies
Html5, css3 and the future of web technologies
Ā 
CSS Layout
CSS LayoutCSS Layout
CSS Layout
Ā 
Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016Understanding flex box CSS Day 2016
Understanding flex box CSS Day 2016
Ā 
El futuro del css
El futuro del cssEl futuro del css
El futuro del css
Ā 
El futuro del css
El futuro del cssEl futuro del css
El futuro del css
Ā 
Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)
Ā 
Taylor lautner
Taylor lautnerTaylor lautner
Taylor lautner
Ā 
Oso panda
Oso pandaOso panda
Oso panda
Ā 
Mario casas
Mario casasMario casas
Mario casas
Ā 
XE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³ø
XE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³øXE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³ø
XE ģ˜¤ķ”ˆ ģ„øėÆøė‚˜(2014-06-28) - (1/3) ė ˆģ“ģ•„ģ›ƒ ģ œģž‘ źø°ė³ø
Ā 
4į„Œį…® CSS Layout
4į„Œį…® CSS Layout4į„Œį…® CSS Layout
4į„Œį…® CSS Layout
Ā 
Ansiedad Y Estres
Ansiedad Y EstresAnsiedad Y Estres
Ansiedad Y Estres
Ā 
Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?Graph Databases - Where Do We Do the Modeling Part?
Graph Databases - Where Do We Do the Modeling Part?
Ā 
7 Creativity Principles For User Experience Teams
7 Creativity Principles For User Experience Teams7 Creativity Principles For User Experience Teams
7 Creativity Principles For User Experience Teams
Ā 
What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?
Ā 
Frames tables forms
Frames tables formsFrames tables forms
Frames tables forms
Ā 
JavaScript Operators
JavaScript OperatorsJavaScript Operators
JavaScript Operators
Ā 
Introdution to HTML 5
Introdution to HTML 5Introdution to HTML 5
Introdution to HTML 5
Ā 
Html 5
Html 5Html 5
Html 5
Ā 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
Ā 

Similar to The Future of CSS Layout

The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of LayoutStephen Hay
Ā 
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
Ā 
Building Responsive Layouts
Building Responsive LayoutsBuilding Responsive Layouts
Building Responsive LayoutsZoe Gillenwater
Ā 
Grid and Flexbox - Smashing Conf SF
Grid and Flexbox - Smashing Conf SFGrid and Flexbox - Smashing Conf SF
Grid and Flexbox - Smashing Conf SFRachel Andrew
Ā 
Building Responsive Layouts
Building Responsive LayoutsBuilding Responsive Layouts
Building Responsive LayoutsZoe Gillenwater
Ā 
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
Ā 
#2 - CSS Layouts Overview
#2 - CSS Layouts Overview#2 - CSS Layouts Overview
#2 - CSS Layouts Overviewiloveigloo
Ā 
Lecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 10 CSS part 2.pptxvvvvvvvvvvvvvvLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 10 CSS part 2.pptxvvvvvvvvvvvvvvZahouAmel1
Ā 
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
Ā 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksRandy Connolly
Ā 
View Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & FriendsView Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
Ā 
Solving Layout Problems With CSS Grid and Friends
Solving Layout Problems With CSS Grid and FriendsSolving Layout Problems With CSS Grid and Friends
Solving Layout Problems With CSS Grid and FriendsFITC
Ā 
Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Rachel Andrew
Ā 
The Creative New World of CSS
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSSRachel Andrew
Ā 
CSS3: Ripe and Ready
CSS3: Ripe and ReadyCSS3: Ripe and Ready
CSS3: Ripe and ReadyDenise Jacobs
Ā 
Solving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSRachel Andrew
Ā 
404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
Ā 
Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Rachel Andrew
Ā 

Similar to The Future of CSS Layout (20)

CSS and CSS3
CSS and CSS3CSS and CSS3
CSS and CSS3
Ā 
The Future State of Layout
The Future State of LayoutThe Future State of Layout
The Future State of Layout
Ā 
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
Ā 
Building Responsive Layouts
Building Responsive LayoutsBuilding Responsive Layouts
Building Responsive Layouts
Ā 
Grid and Flexbox - Smashing Conf SF
Grid and Flexbox - Smashing Conf SFGrid and Flexbox - Smashing Conf SF
Grid and Flexbox - Smashing Conf SF
Ā 
Building Responsive Layouts
Building Responsive LayoutsBuilding Responsive Layouts
Building Responsive Layouts
Ā 
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!
Ā 
#2 - CSS Layouts Overview
#2 - CSS Layouts Overview#2 - CSS Layouts Overview
#2 - CSS Layouts Overview
Ā 
Lecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 10 CSS part 2.pptxvvvvvvvvvvvvvvLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Ā 
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)
Ā 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS Frameworks
Ā 
View Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & FriendsView Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & Friends
Ā 
Solving Layout Problems With CSS Grid and Friends
Solving Layout Problems With CSS Grid and FriendsSolving Layout Problems With CSS Grid and Friends
Solving Layout Problems With CSS Grid and Friends
Ā 
Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17
Ā 
The Creative New World of CSS
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSS
Ā 
CSS3: Ripe and Ready
CSS3: Ripe and ReadyCSS3: Ripe and Ready
CSS3: Ripe and Ready
Ā 
Real-world CSS3
Real-world CSS3Real-world CSS3
Real-world CSS3
Ā 
Solving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJS
Ā 
404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends
Ā 
Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17
Ā 

More from Zoe Gillenwater

Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)Zoe Gillenwater
Ā 
Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)Zoe Gillenwater
Ā 
Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)Zoe Gillenwater
Ā 
Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)Zoe Gillenwater
Ā 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Zoe Gillenwater
Ā 
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)Zoe Gillenwater
Ā 
Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)Zoe Gillenwater
Ā 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)Zoe Gillenwater
Ā 
Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)Zoe Gillenwater
Ā 
Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)Zoe Gillenwater
Ā 
CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)Zoe Gillenwater
Ā 
CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)Zoe Gillenwater
Ā 
Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)Zoe Gillenwater
Ā 
Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)Zoe Gillenwater
Ā 
Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)Zoe Gillenwater
Ā 
Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)Zoe Gillenwater
Ā 
Putting Flexbox into Practice
Putting Flexbox into PracticePutting Flexbox into Practice
Putting Flexbox into PracticeZoe Gillenwater
Ā 
CSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive DesignCSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive DesignZoe Gillenwater
Ā 
CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceZoe Gillenwater
Ā 

More from Zoe Gillenwater (20)

Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)
Ā 
Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)
Ā 
Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)
Ā 
Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)
Ā 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)
Ā 
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Ā 
Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)
Ā 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)
Ā 
Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)
Ā 
Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)
Ā 
CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)
Ā 
CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)
Ā 
Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)
Ā 
Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)
Ā 
Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)
Ā 
Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)
Ā 
Putting Flexbox into Practice
Putting Flexbox into PracticePutting Flexbox into Practice
Putting Flexbox into Practice
Ā 
CSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive DesignCSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive Design
Ā 
CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experience
Ā 
Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
Ā 

Recently uploaded

Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfParomita Roy
Ā 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
Ā 
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiVIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiSuhani Kapoor
Ā 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130Suhani Kapoor
Ā 
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightCheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightDelhi Call girls
Ā 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxmirandajeremy200221
Ā 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
Ā 
CALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service šŸ§µ
CALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service  šŸ§µCALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service  šŸ§µ
CALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service šŸ§µanilsa9823
Ā 
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...Suhani Kapoor
Ā 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
Ā 
VIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130 Available With Roomdivyansh0kumar0
Ā 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...Suhani Kapoor
Ā 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...Call Girls in Nagpur High Profile
Ā 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdftbatkhuu1
Ā 
SCRIP Lua HTTP PROGRACMACION PLC WECON CA
SCRIP Lua HTTP PROGRACMACION PLC  WECON CASCRIP Lua HTTP PROGRACMACION PLC  WECON CA
SCRIP Lua HTTP PROGRACMACION PLC WECON CANestorGamez6
Ā 
Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ… Vashi Call Service Available Nea...
Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ…  Vashi Call Service Available Nea...Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ…  Vashi Call Service Available Nea...
Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ… Vashi Call Service Available Nea...Pooja Nehwal
Ā 
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Delhi Call girls
Ā 

Recently uploaded (20)

Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Ā 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
Ā 
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiVIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
Ā 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
Ā 
young call girls in Vivek ViharšŸ” 9953056974 šŸ” Delhi escort Service
young call girls in Vivek ViharšŸ” 9953056974 šŸ” Delhi escort Serviceyoung call girls in Vivek ViharšŸ” 9953056974 šŸ” Delhi escort Service
young call girls in Vivek ViharšŸ” 9953056974 šŸ” Delhi escort Service
Ā 
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightCheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Ā 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptx
Ā 
escort service sasti (*~Call Girls in Prasad Nagar Metroā¤ļø9953056974
escort service sasti (*~Call Girls in Prasad Nagar Metroā¤ļø9953056974escort service sasti (*~Call Girls in Prasad Nagar Metroā¤ļø9953056974
escort service sasti (*~Call Girls in Prasad Nagar Metroā¤ļø9953056974
Ā 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Ā 
CALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service šŸ§µ
CALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service  šŸ§µCALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service  šŸ§µ
CALL ON āž„8923113531 šŸ”Call Girls Kalyanpur Lucknow best Female service šŸ§µ
Ā 
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
Ā 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
Ā 
B. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdfB. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdf
Ā 
VIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat šŸ‘‰ 8250192130 Available With Room
Ā 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
Ā 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Ā 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
Ā 
SCRIP Lua HTTP PROGRACMACION PLC WECON CA
SCRIP Lua HTTP PROGRACMACION PLC  WECON CASCRIP Lua HTTP PROGRACMACION PLC  WECON CA
SCRIP Lua HTTP PROGRACMACION PLC WECON CA
Ā 
Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ… Vashi Call Service Available Nea...
Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ…  Vashi Call Service Available Nea...Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ…  Vashi Call Service Available Nea...
Kurla Call Girls Pooja NehwalšŸ“ž 9892124323 āœ… Vashi Call Service Available Nea...
Ā 
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Ā 

The Future of CSS Layout

  • 1. The Future of CSS Layout October 22, 2012 by Zoe Mickley Gillenwater Future of Web Design @zomigi zomigi.com
  • 2. What I do Books Web Stunning CSS3: Accessibility A Project-based Guide to specialist at AT&T the Latest in CSS Visual designer www.stunningcss3.com CSS developer and consultant Flexible Web Design: Creating Liquid and Elastic Layouts with CSS www.flexiblewebbook.com 2
  • 4. Problems with table layout ā€¢ Complicated/bulky markup ā€¢ Accessibility problems ā€¢ Slower browser rendering ā€¢ Rigid designs ā€¢ Spacer gifs 4
  • 5. the present float layout 5
  • 6. Advantages of floats in layout ā€¢ Less HTML than tables ā€¢ More flexibility to change layout than tables ā€¢ Can change visual order to not match HTML (somewhat) ā€¢ Other content aware of floats' presence ā€¢ Can use clear to get blocks out of the way 6
  • 7. Problems with float layout ā€¢ Visual location tied to HTML order (somewhat) ā€¢ Wrapping/float drop ā€¢ Difficulty with containment ā€¢ Difficulty with equal-height columns ā€¢ No float:center 7
  • 8. ? what are the alternatives 8
  • 9. Alternative: display inline-block ļƒ¼ ļƒ¼ ļƒ¼ ļƒ¼ ļƒ¼ * * only partial support in IE 7 and 6 9
  • 10. I wish my parents would stop treating me like Iā€™m inline. Canā€™t they see Iā€™m a block now? 10
  • 11. Use: centered nav bar nav ul { margin: 0; padding: 0; border-bottom: 3px solid #fff; list-style: none; text-align: center; } nav li { display: inline-block; vertical-align: bottom; margin: 0 .2em; padding: .3em .5em; ... } 11
  • 12. Use: centered nav bar ā€¢ List horizontally centered ā€¢ Links aligned on bottom ā€¢ Links have top and bottom padding ā€¢ Links can be different heights ā€¢ List contains links (see its bottom border) 12
  • 13. Alternative: display table-cell ļƒ¼ ļƒ¼ ļƒ¼ ļƒ¼ ļƒ¼ * * only in IE 8 and later 13
  • 14. How table display works ā€¢ Makes boxes act like table equivalents ā€¢ Example: boxes with display:table-cell act like <td> and sit on same line ā€¢ Good for grid-like layouts ā€¢ Disadvantage: tied to HTML order 14
  • 15. Use: hybrid fixed-fluid layout section { display: table; table-layout: fixed; width: 100%; } article { display: table-cell; padding: 10px; vertical-align: top; } article.fixed { width:250px; } 15
  • 17. the future a whole bunch of CSS3 17
  • 18. CSS3 ā€œcontent-flowā€ modules ā€¢ Multi-column Layout: flow a boxā€™s content into multiple columns in that box ā€¢ Regions: flow content into multiple, separate boxes ā€¢ Exclusions and Shapes: make content flow around and within areas in more intricate ways than floating 18
  • 19. Grid Template Layout http://dev.w3.org/csswg/css3-layout/ X X X X 10 * * with -ms- prefix 19
  • 20. How grid template works Define invisible grid of rows and columns and specify which pieces of content go into which ā€œslotā€ body { grid: "a a a a" a "b c c d" } ļƒØ b c d nav { flow: a } #main { flow: c } aside { flow: d } #news { flow: b } 20
  • 21. How grid template works Define invisible grid of rows and columns and specify which pieces of content go into which ā€œslotā€ body { grid: "c d" c d "b b" "a a" ļƒØ } b nav { flow: a } #main { flow: c } aside { flow: d } #news { flow: b } a 21
  • 22. How grid template works Use ::slot to style slots with: ā€¢ overflow ā€¢ background properties ā€¢ margin properties ā€¢ column properties ā€¢ padding properties ā€¢ vertical-align ā€¢ border properties ā€¢ writing-mode ā€¢ box-shadow ā€¢ direction ā€¢ box-decoration-break For example: body::slot(c) { background: #7FD13B; vertical-align: top; } 22
  • 23. Flexible Box Layout www.w3.org/TR/css3-flexbox/ 21 X 12.1 X X ā€  * * ā€  with -webkit- prefix can be switched on in version 18 nightlies 23
  • 24. How flexbox works ā€¢ Make boxes automatically grow to fill space or shrink to avoid overflow ā€¢ Give boxes proportional measurements ā€¢ Lay out boxes in any direction ā€¢ Align boxes on any side ā€¢ Place boxes out of order from HTML 24
  • 26. Original CSS .feature { float: left; width: 30%; margin: 0 4.5% 0 0; padding: 130px 0 0 0; } 26
  • 27. Create a flex container <div id="features-wrapper"> <div class="feature" id="feature-candy"> ...</div> <div class="feature" id="feature-pastry"> ...</div> <div class="feature" id="feature-dessert"> ...</div> </div> Make sure to add the #features-wrapper { -moz, -ms, and -webkit prefixed values and display: flex; properties in real life! } 27
  • 28. Specify direction of flex items #features-wrapper { display: flex; flex-direction: row; default value } Could switch to vertical stacking in mobile/narrow-screen media query: #features-wrapper { display: flex; flex-direction: column; } 28
  • 29. Make flex items flexible .feature { flex: 1 1 0px; margin-right: 40px; padding: 130px 0 0 0; } 29
  • 30. Make flex items flexible .feature { flex: 1 1 0px; margin-right: 40px; flex basis padding: 130px 0 0 0; } flex shrink factor Same as: flex grow factor .feature { flex: 1; margin-right: 40px; padding: 130px 0 0 0; } 30
  • 31. Add a fourth feature box <div id="features-wrapper"> <div class="feature" id="feature-candy"> ...</div> <div class="feature" id="feature-pastry"> ...</div> <div class="feature" id="feature-dessert"> ...</div> <div class="feature" id="feature-bread"> ...</div> </div> 31
  • 32. All boxes adjust in width 32
  • 33. Donā€™t need to do this anymore .2up .feature { width: 45%; ... } .3up .feature { width: 30%; ... } .4up .feature { width: 22%; ... } 33
  • 34. Highlight a sale category .sale { padding: 130px 20px 20px 20px; border-radius: 3px; background-color: hsla(0,0%,100%,.4); } What percentage width would I set to make this twice as wide as other boxes, if I werenā€™t using flex? 34
  • 35. Make sale box twice as wide .sale { flex: 2; padding: 130px 20px 20px 20px; border-radius: 3px; background-color: hsla(0,0%,100%,.4); } 35
  • 36. Default equal-height columns! #features-wrapper { display: flex; align-items: stretch; } This is the default value, so we donā€™t need to actually set this property, but this shows you what it looks like. 36
  • 37. Vertical centering with ease! #features-wrapper { display: flex; align-items: center; } 37
  • 38. Visual order = HTML order 38
  • 39. Move sale box to front of line .sale { order: -1; flex: 2; padding: 130px 20px 20px 20px; border-radius: 3px; background-color: hsla(0,0%,100%,.4); } Default order value is 0 for all flex items, so -1 moves this one before others 39
  • 40. New visual order, same HTML 40
  • 41. Accessibility implications ā€¢ Pro: keep content in logical order in HTML instead of structuring HTML to achieve visual layout ā€¢ Con: focus/tab order wonā€™t always match expected order, may jump around seemingly randomly 41
  • 42. Columns are too narrow 42
  • 43. Create multi-line flex container #features-wrapper { display: flex; flex-wrap: wrap; Allow children flex items to wrap to multiple lines } .sale { order: -1; Make box fill line flex: 1 1 100%; Remove gap to right, margin: 0 0 20px 0; add space below padding: 130px 20px 20px 20px; border-radius: 3px; background-color: hsla(0,0%,100%,.4); } 43
  • 44. Flex items can now wrap 44
  • 45. Change icon position .sale { order: -1; flex: 1 1 100%; margin: 0 0 20px 0; padding: 20px 20px 1px 170px; border-radius: 3px; background-color: hsla(0,0%,100%,.4); background-position: 20px 0; } 45
  • 47. use flexbox now for progressive enhancement ļƒ¼ 47
  • 48. How can I make this form: ā€¢ Display on a single line with image ā€¢ Vertically centered with image ā€¢ Span full-width of container 48
  • 49. Inline-block achieves: ļƒ¼Display on a single line with image ļƒ¼Vertically centered with image X Span full-width of container 49
  • 50. Different units make life hard Pixels Ems Some mystery percentage 50
  • 51. Make the text input flex #order, #order form { Make outer div and form display: flex; into flex containers align-items: center; } Vertically center kiddos #order form { Make form take up all flex: 1; } space next to image #order #message { Make text input take up flex: 1; all space in form left min-width: 7em; after label and button margin: 0 5px; } But donā€™t let it get crazy- small 51
  • 52. Use inline-block with flexbox 52
  • 53. Use inline-block with flexbox #order img, #order form { display: inline-block; vertical-align: middle; } #order, #order form { display: flex; align-items: center; } #order form { flex: 1; } #order #message { flex: 1; min-width: 7em; margin: 0 5px; } 53
  • 54. Full-width nav bar nav ul { nav li { display: table; display: table-cell; width: 100%; text-align: center; } margin: 0; padding: 0; list-style: none; } 54
  • 55. Not so hot with no backgrounds Uneven spacing Donā€™t like these gaps 55
  • 56. Even spacing with flexbox nav ul { display: flex; justify-content: space-between; margin: 0; padding: 0; list-style: none; } 56
  • 57. Use inline-block with flexbox 57
  • 58. Use inline-block with flexbox nav ul { display: flex; justify-content: space-between; margin: 0; padding: 0; list-style: none; text-align: center; } nav li { display: inline-block; } 58
  • 59. Or use Modernizr script http://modernizr.com nav ul { nav li { display: table; display: table-cell; width: 100%; } margin: 0; .flexbox nav li { padding: 0; display: list-item; list-style: none; } } .flexbox nav ul { display: flex; } 59
  • 61. Learn more Download slides and get links at http://zomigi.com/blog/future-css-layout-fowd Zoe Mickley Gillenwater @zomigi design@zomigi.com zomigi.com | stunningcss3.com | flexiblewebbook.com Title photo by Gilderic Photography (http://www.flickr.com/photos/gilderic/6885830288/) Rocket designed by Jason Peters from The Noun Project 61