Theres a great, big, beautiful tomorrow with intrinsic Web layouts - - PowerPoint PPT Presentation

there s a great big beautiful tomorrow
SMART_READER_LITE
LIVE PREVIEW

Theres a great, big, beautiful tomorrow with intrinsic Web layouts - - PowerPoint PPT Presentation

Theres a great, big, beautiful tomorrow with intrinsic Web layouts @joshtumath Josh Tumath Front-End Web Developer Presentation Layer, Core Services @joshtumath The world of TODAY The principals of The world of


slide-1
SLIDE 1

@joshtumath

There’s a great, big, beautiful tomorrow

with intrinsic Web layouts

slide-2
SLIDE 2

@joshtumath

Josh Tumath

Front-End Web Developer
 Presentation Layer, Core Services

slide-3
SLIDE 3

@joshtumath

The world of TODAY The world of TOMORROW ✨

✨ ✨

The principals of TOMORROW

slide-4
SLIDE 4

@joshtumath

The world of TODAY

Source: Disneyland Resort

slide-5
SLIDE 5

@joshtumath

Flow layout

The default layout method

Source: https://oneterabyteoflilobyteage.tumblr.com/

slide-6
SLIDE 6

@joshtumath

Table layout

Abusing the table element for layouts

Source: BBC

slide-7
SLIDE 7

@joshtumath

Mobile and desktop websites

m.bbc.co.uk for mobiles bbc.co.uk for desktops

slide-8
SLIDE 8

@joshtumath

Fluid and fixed layouts

Cleverly misusing CSS property float: left and percentages or fixed width boxes

Source: BBC

slide-9
SLIDE 9

@joshtumath

slide-10
SLIDE 10

@joshtumath

Responsive layouts

The full power of CSS Media Queries

Source: BBC

slide-11
SLIDE 11

@joshtumath

The limitations of Responsive Web Design

slide-12
SLIDE 12

@joshtumath

Where’s the fold?

We can’t easily size things so that they don’t get cut off at the fold

Source: BBC

slide-13
SLIDE 13

@joshtumath

Can’t mix fluid and fixed

All grid columns must be either fixed

  • r percentage

widths

slide-14
SLIDE 14

@joshtumath

Stick to the breakpoints

Source: BBC

slide-15
SLIDE 15

@joshtumath

The world of TOMORROW

Source: ProgressCityUSA

slide-16
SLIDE 16

@joshtumath

It’s all about design systems

slide-17
SLIDE 17

@joshtumath

New in CSS

Grids

Flex

Multi-column

Regions

min(n, m) max(n, m)

clamp(min, value, max)

@supports

minmax(n, m)

min-content max-content

aspect-ratio

Subgrids

fr units

Shapes

slide-18
SLIDE 18

@joshtumath

slide-19
SLIDE 19

@joshtumath

Jen Simmons

“The more I understood what CSS Grid wants to do, I realised we’re in a new era

  • f Web design. This is not responsive
  • layout. This is something different.”

Source: Jen Simmons, ‘Everything You Know About Web Design Just Changed’ (2018)

slide-20
SLIDE 20

@joshtumath

Intrinsic Web Design

slide-21
SLIDE 21

@joshtumath

Intrinsic Web Design

slide-22
SLIDE 22

@joshtumath

Intrinsic Web Design

slide-23
SLIDE 23

@joshtumath

Intrinsic Web Design

slide-24
SLIDE 24

@joshtumath

Intrinsic?

  • The content knows how to fill its space
  • It’s about setting constraints instead of

setting breakpoints

  • Capable of mixing fixed and fluid columns

in the same layout

  • No need for Media Queries (usually)!
slide-25
SLIDE 25

@joshtumath Check it out: https://codepen.io/joshtumath/pen/LYVOdbR

slide-26
SLIDE 26

@joshtumath

This changes everything

And as designers and developers, we need to understand what we can do.

slide-27
SLIDE 27

@joshtumath Check it out: https://every-layout.dev

slide-28
SLIDE 28

@joshtumath

Intrinsic Web Design +

= ❤

Design Systems

slide-29
SLIDE 29

@joshtumath

So how are we using it at the BBC?

slide-30
SLIDE 30

@joshtumath

We’re not

*but we’re thinking about it

slide-31
SLIDE 31

@joshtumath

slide-32
SLIDE 32

@joshtumath

The principals of TOMORROW

Source: TheOriginalEpcot

How to put intrinsic layouts in your design system

slide-33
SLIDE 33

@joshtumath

.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(500px, 1fr)); }

slide-34
SLIDE 34

@joshtumath

Avoid Media Queries

slide-35
SLIDE 35

@joshtumath

Split layouts from components

You can avoid re-implementing layouts in each component

slide-36
SLIDE 36

@joshtumath

Don’t set margins on the edges of components

Let the parent components do that instead

.stack > * + * { margin-top: 1rem; } .grid { display: grid; gap: 1rem; } .card { margin: 1rem 0; }

👏 👎

slide-37
SLIDE 37

@joshtumath

Encapsulate the styles of each component

Don't let parent components change the style of a component

<Card> <div class=“card-image”> <Image /> </div> <div class=“card-content”> <p>Lorem ipsum</p> <div> </Card> .Card .Image { width: 50%; }

👏

slide-38
SLIDE 38

@joshtumath

Be careful mixing intrinsic layouts with media queries

slide-39
SLIDE 39

@joshtumath

So what do we need to do?

  • Spread the word to everyone you know!
  • Play around with CSS Grid and Flexbox
  • Subscribe to Rachel Andrew, Jen Simmons and Adam Argyle
  • See what you can do today
slide-40
SLIDE 40

@joshtumath

Thank you

Source: Walt Disney Imagineering

@joshtumath https://joshtumath.uk