Il était une fois... ✨

1998 computer display
IBM 14V 1024×768, 1993
2000 computer display
Dell E551c 1024×768, 2001
2004 computer display
Dell E173FPc 1280×1024, 2004
2008 computer display
Acer X223Wbd 1680×1050, 2008

Quand soudain... 😨

Steve Jobs at the first iphone keynote Steve Jobs at the first iphone keynote Steve Jobs at the first iphone keynote Steve Jobs at the first iphone keynote Steve Jobs at the first iphone keynote

Le design web adaptif 💡

Un héritage du design physique

a design on different physical supports

Une conception vite limitée...

pile of smartphones Steve Jobs holding an iPad Steve Jobs holding an iPad

Une autre approche ?

Un parallèle avec l'architecture 📐

the shed the shed

La philosophie du responsive design 🌊

bruce lee sizes of paper water containers

Une multitude de techniques 🤯

🫵 et vous,
vous vous mettez combien ?

Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

1. La page vide

Design du niveau 1
393 × 852
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

4. Le paragraphe

Design du niveau 4
393 × 852
.paper {
  display: block;
}

Atlassian guidelines for paragraph width
Ultra wide screen React website on an ultra wide screen React website on an ultra wide screen, with max width
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

5. Le jeu de morpion

Design du niveau 5
393 × 852
.board {
  width: 300px;
  aspect-ratio: 1;
}

Laptop mockup
phone mockup
phone mockup
Baseline 2022
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

6. L'image de fond

Design du niveau 6
393 × 852
img {
  display: block;
  width: 100svw;
  height: 100svh;
  object-fit: cover;
}

media attribute on a link element
media attribute on a link element for print
media attribute on a video element
media attribute on an audio element
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

7. La documentation

Design du niveau 7
393 × 852
.page {
	max-width: 90vw;
}

Mais au fait...

pourquoi on fait du "mobile first" ? 🤔

Côté code...

ça fait moins de lignes

Mobile 📱

code for mobile layout

Bureau 🖥️

code for desktop layout

Côté design...

code for mobile layout code for mobile layout
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

8. La galerie de photos

Design du niveau 8
393 × 852
.gallery {
  width: min(90vw, 1600px);
  text-align: center;
}

img {
  width: 250px;
  aspect-ratio: 4 / 5;
}
/*








grid-template-columns: repeat(
  auto-fill,
  minmax(min(250px, 25vw), 1fr)
);

min-width: min(25vw, 250px);
flex-basis: 0%;
flex-grow: 1;

*/

mockup of a centered grid
Flexbox / Grid Breakpoints
Design fluide fixe par taille d'écran
Échelle élément HTML page entière
Effet changement de taille et/ou position n'importe quelle propriété CSS
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

9. La plateforme de contenu

Design du niveau 9
393 × 852
.content {
  display: grid;
  align-items: center;
  grid-template-columns: min(25%, 7em) 1fr;
  column-gap: 1rem;

  img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 0.75rem;
  }

  h1 {
    font-size: 1rem;
    margin: 0 0 0.25em;
  }

  p {
    font-size: 0.75rem;
    margin: 0;
  }
}

.content.medium {
  grid-template: auto auto / 1fr;
  row-gap: 0.5rem;

  img {
    aspect-ratio: 320 / 175;
  }

  h1 {
    font-size: 1.25rem;
  }

  p {
    font-size: 0.875rem;
  }
}

.content.large {
  grid-template: auto / 1fr;
  position: relative;

  &::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 0.75rem;
    background: linear-gradient(70deg, black 350px, transparent 700px),
      linear-gradient(to top, black -20%, transparent 30%);
  }

  div {
    position: absolute;
    max-width: 400px;
    margin-left: 8ch;
    color: white;
  }

  img {
    height: clamp(200px, 30vmin, 300px);
  }

  h1 {
    font-size: 1.5rem;
    margin-bottom: 0.5em;
  }

  p {
    font-size: 1.125rem;
  }
}

Project card par Ahmad Shadeed

Container queries

A place to share all my demos on CQs

Progress

60%

2 days left

Timeline component par Ahmad Shadeed
  1. Design

    In Progress

  2. Development

    Plan how to implement the new UI smoothly.

  3. QA Testing

    Todo

✔️ Apparence différente

❗Rôle fonctionnel identique

393 × 852
.content {
  display: grid;
  align-items: center;
  grid-template-columns: min(25%, 7em) 1fr;
  column-gap: 1rem;

  img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 0.75rem;
  }

  h1 {
    font-size: 1rem;
    margin: 0 0 0.25em;
  }

  p {
    font-size: 0.75rem;
    margin: 0;
  }
}

.content.medium {
  grid-template: auto auto / 1fr;
  row-gap: 0.5rem;

  img {
    aspect-ratio: 320 / 175;
  }

  h1 {
    font-size: 1.25rem;
  }

  p {
    font-size: 0.875rem;
  }
}

.content.large {
  grid-template: auto / 1fr;
  position: relative;

  &::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 0.75rem;
    background: linear-gradient(70deg, black 350px, transparent 700px),
      linear-gradient(to top, black -20%, transparent 30%);
  }

  div {
    position: absolute;
    max-width: 400px;
    margin-left: 8ch;
    color: white;
  }

  img {
    height: clamp(200px, 30vmin, 300px);
  }

  h1 {
    font-size: 1.5rem;
    margin-bottom: 0.5em;
  }

  p {
    font-size: 1.125rem;
  }
}

atomic design

💡 Quelques suggestions sur les containers

  • nommer les containers
    (container: name / inline-size;)
  • on peut combiner container et media queries 🤝
    pour cibler la taille du composant ET celle du viewport
  • utiliser avec parcimonie
    pour éviter l'effet sapin de Noël lors du redimensionnement
Media Queries Container Queries
Cible viewport n'importe quel élément
Usage modification globale de la page modification locale d'un composant
Support navigateur largement supporté Baseline 2023
viewport units availability
container queries units
Tu te mets combien en...

RESPONSIVE CSS ?

  1. 1 La page vide
  2. 2 La lettre "A"
  3. 3 Le mot "rue"
  4. 4 Le paragraphe
  5. 5 Le jeu de morpion
  6. 6 L'image de fond
  7. 7 La documentation
  8. 8 La galerie de photos
  9. 9 La plateforme de contenu
  10. 10 ???

10. Le monde réel

Design du niveau 10

Toujours plus de devices

a smart watch folding smartphones Apple Vision Pro Meta AR glasses really tall smartphone