“Tableless web design” The move from tables to CSS for layout meant simplifying our designs.
Slide 4
Slide 5
What we see as good web design is rooted in the technical limitations of CSS2
Slide 6
How we see the web is still informed by those early days.
Slide 7
“The web is not print”
Slide 8
“[I] accepted that CSS is just hacks over top of a document model that was never designed to be used like it is today” - Bailey Ling
http://bling.github.io/blog/2013/04/13/dot-net-slash-wpf-to-html-slash-css-slash-javscript/
Slide 9
We have solved many of those problems That doesn’t mean we got all of them!
Slide 10
You never know how tall anything is on the web.
Slide 11
Slide 12
Slide 13
Slide 14
We hacked round the problem
Slide 15
stretch Default value of align-items.
.container { display: flex; }
Slide 16
The default behaviour of these methods is the thing we struggled with for so long.
Slide 17
How big is this box?
Slide 18
Slide 19
Graduating To Grid https://aneventapart.com/news/post/graduating-to-grid-by-rachel-andrew-aea-video
Slide 20
<length-percentage> Our previous layout systems rely on everything having a length, or a percentage which resolves to a length.
Slide 21
“Flexbox is weird!” - People on the internet.
Slide 22
Flexbox isn’t the layout method you think it is.
Slide 23
Flexbox I have a bunch of different sized things to lay out.
Slide 24
Slide 25
Not everything requires a CSS hack. CSS may have solved your problem.
Slide 26
“it just blew my mind that someone thought the default behavior should be to just have the text honk right out of the box, instead of just making the box bigger” Steven Frank (creator of the meme) - https://css-tricks.com/css-is-awesome/#comment-1609829
Slide 27
CSS tries to avoid data loss In CSS terms that would mean making some content vanish.
Slide 28
Safe & Unsafe alignment Giving you the choice about prioritizing alignment over potentially vanishing content.
Slide 29
safe Tells the browser to align start if data loss would occur.
.container { display: flex; flex-direction: column; align-items: safe center; }
Slide 30
safe Tells the browser to align start if data loss would occur.
Slide 31
unsafe I want my specified alignment even if it causes data loss.
.container { display: flex; flex-direction: column; align-items: unsafe center; }
Slide 32
unsafe I want my specified alignment even if it causes data loss.
Slide 33
Overflow happens
Slide 34
Overflow Choose your solution
Slide 35
min-content & max-content Solving the “content honking out of the box” problem.
Slide 36
min-content A box that is wide enough for the content, but not wider.
.awesome { width: min-content; }
Slide 37
min-content A box that is wide enough for the content, but not wider.
Slide 38
max-content A box that is as big as the content can be.
.awesome { width: max-content; }
Slide 39
max-content A box that is as big as the content can be.
Slide 40
break-word Breaking words, making the box taller not wider.
.awesome { overflow-wrap: break-word; }
Slide 41
break-word Breaking words, making the box taller not wider.
Slide 42
Choices! Choose your solution
Slide 43
vertical CSS being awesome in another dimension
Slide 44
The web is not left to right
Slide 45
Flexbox & Grid Take an agnostic approach to the writing mode of the document.
Slide 46
grid-area All four lines at once
.item { grid-area: 1 1 4 2; }
Slide 47
Floats, positioning, margins, borders, padding All defined using physical terms – top, left, bottom, right
Show your problems This is how we make things better.
Slide 134
Slide 135
Slide 136
Slide 137
Why can’t I do that?
Slide 138
“At a W3C meeting or standards discussion, the room should not be 60–70% Googlers.” https://ferdychristant.com/the-state-of-web-browsers-f5a83a41c1cb
Slide 139
“At a W3C meeting or standards discussion, the room should not be 60–70% Googlers.” - Ferdy Christant https://ferdychristant.com/the-state-of-web-browsers-f5a83a41c1cb
Slide 140
More than ever the web needs diversity of thought.