RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

55
R E S P O N S I V E I M A G E S U N D E R C O N T R O L

Transcript of RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

Page 1: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

R E S P O N S I V E I M A G E S

U N D E R C O N T R O L

Page 2: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

C R I S T I N A C H U M I L L A SD E S I G N E R & D R U P A L F R O N T E N D

@chumil lasckr ina

Page 3: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

T H E B A S I C S

R E S P O N S I V E I M A G E S I N D R U P A L

A R T D I R E C T I O N

R E S P O N S I V E I M A G E S

Page 4: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

P A G E W E I G H TA V E R A G E

2016

2015

2014

2,26Mb

1,95Mb

2,48Mb

+16%

+15%

+10%

Page 5: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

6 1 %web traf f ic

A S Y N C H R O N O U Srequest

T O O B I Gfor the de vice

F A C T S

Page 6: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

D E L I V E R T H E

H I G H E S T Q U A L I T Y I M A G E S U P P O R T E D

A N D N O T H I N G M O R E .

Page 7: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

T H E B A S I C S

Page 8: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

Variables known by: AUTHORwhen she’s writing the code?

BROWSERwhen it’s loading the page?

viewport dimensions x YES

image size relative to the viewport YES YES via sizes!

screen density x YES

source files’ dimensions YES YES via srcset!

SOURCE https://ericportis.com/posts/2014/srcset-sizes

S C A L E D I M A G E

Page 9: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

srcset=“large.jpg 1440w, medium.jpg 960w, small.jpg 480w”

sizes=“(min-width: 36em) 33.3vw, src=“medium.jpg”

alt=“A road”>

100vw”

<img

S C A L E D I M A G E

Page 10: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

srcset=“large.jpg 1440w, medium.jpg 960w, small.jpg 480w”

W I D T H I N P I X E L Sw

(1440px)(960px)(480px)

<img

Page 11: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

sizes=“(min-width: 36em) 33.3vw,100vw”

image { width: 100vw; } @media (min-width: 36em) { width: 33.3vw; }

srcset=“large.jpg 1440w, medium.jpg 960w, small.jpg 480w”

<img

C S S M E D I A Q U E R I E Ssizes

Page 12: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

srcset=“large.jpg 1440w, medium.jpg 960w, small.jpg 480w”

sizes=“(min-width: 36em) 33.3vw, src=“medium.jpg”

alt=“A road”>

100vw”

<img

S C A L E D I M A G E

Page 13: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

S C A L E D I M A G E S

Page 14: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

A R T D I R E C T I O N

Page 15: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

<picture>

@ c h u m i l l a s

Page 16: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

<source srcset=“ image-small.jpg 1x, image-small2x.jpg 2x”

<img src=“image-big.jpg 180w” />

media=“(min-width: 0px) and(max-width: 29.99em)”>

<source srcset=“image-big.jpg 1x,

media=”(min-width: 30em)”>

image-big2x.jpg 2x”

</picture>

sizes=”(min-width: 30em) 33vw”>

<picture>

Page 17: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

P I C T U R EB R O W S E R S U P P O R T

Same for srcret and sizes

Page 18: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

P I C T U R E F I L LB R O W S E R S U P P O R T

A R E S P O N S I V E I M A G E P O L Y F I L L

http://scottjehl.github.io/picturefill/

Page 19: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

D R U P A LR E S P O N S I V E I M A G E S I N

Page 20: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

R E S P _ I M G > P I C T U R E B R E A K P O I N T

D R U P A L 7

A D A P T I V E I M A G E S A I S ( A D A P T I V E I M A G E S T Y L E S )

C L I E N T - S I D E A D A P T I V E I M A G E

C O M M I T E R S : J e l l e _ S , a t t i k s , …

Page 21: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

R E S P O N S I V E I M A G E S ( P i c t u r e )

B R E A K P O I N T

Image,File,Field

M O D U L E S

Page 22: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

Import/create

breakpoints

Create Image styles

Create Responsive

Images

Apply Responsive

Images

1 2 3 4

P R O C E S S

Page 23: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

1W H E R E

T H E M E S M O D U L E S

B R E A K P O I N T S

Page 24: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

@media all and (min-width:851px) {/*CSS*/}

1B R E A K P O I N T S

W H A T A R E

Page 25: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

I M A G E S T Y L E SP L A N 2

(min-width: 480px ) (min-width: 830px )

Page 26: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

I M A G E S T Y L E SP L A N 2

830px-40px margins

-20px gutter

770px/2 images

385px

Page 27: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

I M A G E S T Y L E S

By @marcdrummond https://www.youtube.com/watch?v=3BF5WE_NOIU

P L A N

385px

480px+25%

+25%300px385px480px

240px

300px+25%

300px

240px+25%

240px

385px

2

480px385px

Page 28: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

I M A G E S T Y L E SP L A N

385x310

480x390

300x250

240x200

2

teaser_s (240x200)

teaser_s (300x250)

teaser_s (385x 310)

teaser_s (480x390)

teaser_s

teaser_m

teaser_l

teaser_xl

N A M I N G

C O M P O N E N T S I Z E

Page 29: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

Import/create

breakpoints

Create Image styles

Apply Responsive

Images

1 2

3

4

3

SCALED IMG

PICTURE

R E S P O N S I V E I M A G E SC R E A T E 3

Page 30: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

srcset=“large.jpg 1440w, medium.jpg 960w, small.jpg 480w”

sizes=“(min-width: 36em) 33.3vw, src=“medium.jpg”

alt=“A road”>

100vw”

<img

S C A L E D I M A G E

Page 32: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 33: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

<img src=“image-big.jpg 180w” />

<source srcset=“image-big.jpg 1x,

media=”(min-width: 30em)”>

image-big2x.jpg 2x”

</picture>

sizes=”(min-width: 30em) 33vw”>

<picture>

A R T D I R E C T I O N

Page 34: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 35: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

A R T D I R E C T I O N

Page 36: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

Page 37: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

A R T D I R E C T I O NR E S P O N S I V E I M A G E S

https://www.drupal.org/project/crop

Page 38: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

I M A G E W I D G E T C R O P

https://www.drupal.org/project/image_widget_crop

F U L L C O N T R O L

Page 39: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 40: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 41: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 42: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 43: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 44: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...
Page 45: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

F U L L C O N T R O L

L O N G I M P L E M E N T A T I O N

G I V E S

R E Q U I R E S

Page 46: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

https://www.drupal.org/project/focal_point

F O C A L P O I N TA U T O M A T E D

Page 47: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

https://vimeo.com/204517287

Page 48: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

B A S I C A R T D I R E C T I O N

L O W E F F O R T

G I V E S

R E Q U I R E S

( R E A L L Y )

Page 49: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

W Y S I W Y G

Page 50: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

I N S I D E W Y S I W Y GR E S P O N S I V E I M A G E S

https://www.drupal.org/project/inline_responsive_images

*https://www.drupal.org/node/2061377

Page 51: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

@ c h u m i l l a s

• Plan your Responsive Images before implementing.

• Use Focal Point if you don’t need full control.

C O N C L U S I O N S

Page 52: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

T H A N K S !@ c h u m i l l a s

Page 53: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

JOIN US FORCONTRIBUTION SPRINT

Friday, September 29, 2017

First time Sprinter Workshop

MentoredCore Spint General sprint

9:00-12:00Room: Lehgar 1 - Lehar 2

9:00-18:00Room: Stolz 2

9:00-18:00Room: Mall

#drupalsprints

Page 54: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

WHAT DID YOU THINK?

Locate this session at the DrupalCon Vienna website:

https://events.drupal.org/vienna2017/sessions/responsive-images-and-art-direction-drupal-8

Take the survey!

https://www.surveymonkey.com/r/drupalconvienna

Page 55: RESPONSIVE IMAGES · RESPONSIVE IMAGES CR E ATE 3. @chumillas srcset=“large.jpg 1440w, ...

Q U E S T I O N S