This document provides an overview of CSS Flexbox including:
1) An introduction to Flexbox and its advantages over other layout methods like floats and grids.
2) Examples of how to use Flexbox properties to control layout including flex-direction, flex-wrap, justify-content, align-items and more.
3) Real world use cases demonstrating how Flexbox can be used for tasks like vertical alignment, equal height columns, and responsive layouts.
12. The CSS3 Flexible Box, or flexbox, is a
layout mode providing for the arrangement
of elements on a page such that the
elements behave predictably when the
page layout must accommodate different
screen sizes and different display devices.
- Mozilla Developer Network
“
Table Div + Float Grid Responsive
Web Design
Flexbox
30. justify-content
aligns items along
main axis
align-content aligns rows of items
along cross axis
align-items aligns items in a single
row along cross axis
31. justify-content
aligns items along
main axis
align-content aligns rows of items
along cross axis
align-items aligns items in a single
row along cross axis
37. justify-content
aligns items along
main axis
align-content aligns rows of items
along cross axis
align-items aligns items in a single
row along cross axis
44. justify-content
aligns items along
main axis
align-content aligns rows of items
along cross axis
align-items aligns items in a single
row along cross axis
45. .parent {
display: flex;
align-items: flex-start;
}
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit.
Nullam sit amet
diam feugiat
ullamcorper nunc
vel, sodales mi.
Aliquam tempor
enim at arcu
finibus, et
consectetur mi
blandit. Vestibulum
semper commodo
tempor. Ut
venenatis euismod
Proin ex lectus,
pellentesque eget
est sit amet,
euismod maximus
arcu
Pellentesque
habitant morbi
tristique senectus
et netus et
malesuada fames
ac turpis egestas.
Cras eu elementum
dui. In feugiat
feugiat turpis.
46. .parent {
display: flex;
align-items: flex-end;
}
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit.
Nullam sit amet
diam feugiat
ullamcorper nunc
vel, sodales mi.
Aliquam tempor
enim at arcu
finibus, et
consectetur mi
blandit. Vestibulum
semper commodo
tempor. Ut
venenatis euismod
Proin ex lectus,
pellentesque eget
est sit amet,
euismod maximus
arcu
Pellentesque
habitant morbi
tristique senectus
et netus et
malesuada fames
ac turpis egestas.
Cras eu elementum
dui. In feugiat
feugiat turpis.
47. .parent {
display: flex;
align-items: center;
}
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit.
Nullam sit amet
diam feugiat
ullamcorper nunc
vel, sodales mi.
Aliquam tempor
enim at arcu
finibus, et
consectetur mi
blandit. Vestibulum
semper commodo
tempor. Ut
venenatis euismod
Proin ex lectus,
pellentesque eget
est sit amet,
euismod maximus
arcu
Pellentesque
habitant morbi
tristique senectus
et netus et
malesuada fames
ac turpis egestas.
Cras eu elementum
dui. In feugiat
feugiat turpis.
48. Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit.
Nullam sit amet
diam feugiat
ullamcorper nunc
vel, sodales mi.
Aliquam tempor
enim at arcu
finibus, et
consectetur mi
blandit. Vestibulum
semper commodo
tempor. Ut
venenatis euismod
Proin ex
lectus,
pellentesque
eget
Pellentesque
habitant morbi
tristique senectus
et netus et
malesuada fames
ac turpis egestas.
Cras eu elementum
dui. In feugiat
feugiat turpis.
.parent {
display: flex;
align-items: baseline;
}
49. .parent {
display: flex;
align-items: stretch; /*default*/
}
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit.
Nullam sit amet
diam feugiat
ullamcorper nunc
vel, sodales mi.
Aliquam tempor
enim at arcu
finibus, et
consectetur mi
blandit. Vestibulum
semper commodo
tempor. Ut
venenatis euismod
Proin ex lectus,
pellentesque eget
est sit amet,
euismod maximus
arcu
Pellentesque
habitant morbi
tristique senectus
et netus et
malesuada fames
ac turpis egestas.
Cras eu elementum
dui. In feugiat
feugiat turpis.
50. .parent {
display: flex;
align-items: stretch;
}
.box3 {
align-self: flex-end; /*override individual child*/
}
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit.
Nullam sit amet
diam feugiat
ullamcorper nunc
vel, sodales mi.
Aliquam tempor
enim at arcu
finibus, et
consectetur mi
blandit. Vestibulum
semper commodo
tempor. Ut
venenatis euismod
Proin ex lectus,
pellentesque eget
est sit amet,
euismod maximus
arcu
Pellentesque
habitant morbi
tristique senectus
et netus et
malesuada fames
ac turpis egestas.
Cras eu elementum
dui. In feugiat
feugiat turpis.
58. flex-basis baseline width auto
flex-grow proportion of extra width an item
will get if extra space available
0
flex-shrink proportion of width it will give up
if needed
1
103. Resources
• Flexbox cheat sheet
https://css-tricks.com/snippets/css/a-guide-to-flexbox
• Using Flexbox: Mixing Old and New for the Best Browser
Support
https://css-tricks.com/using-flexbox/
• Video: Enhancing Responsiveness with Flexbox
https://vimeo.com/124796320
• Autoprefixer
https://github.com/postcss/autoprefixer
• Modernizr
http://modernizr.com/