fl0645 a écrit :
je pensais qu'en appliquant display:flex à body, tous les enfants et les sous-enfants (nav et <a>) récupèrent la propriété flex ?
En appliquant display: flex sur <body> :
- il devient un flex-container
- ses enfants directs (<nav> et <main> chez toi) deviennent des flex-items (ils reconnaissent la propriété flex en effet). Ils ne sont pas des flex-containers
- ses petits-enfants (<a>, etc.) ne sont pas concernés par ce modèle. Ils ne sont ni flex-container ni flex-item. Aucune propriété de Flexbox ne les atteint.
fl0645 a écrit :
J'ai ajouté un flex-direction: column; à navigation pour le block de navigation situé à gauche, par contre le texte devrait être à droite du bloc de navigation, or là il est dessous...
Flex-direction: column sur <nav> va afficher
ses enfants verticalement, c'est ce que je vois dans ton codepen.
Par "le texte devrait être à droite du bloc de navigation", tu parles du bloc <main> ? Si oui, ce bloc ne peut pas être affecté par des propriétés que tu vas appliquer sur son frère <nav>.
Par contre, s'il se place en dessous de la navigation, c'est parce que tu as appliqué un flex-direction: column
sur <body>, donc
ses deux enfants <nav> et <main> s'affichent les uns sous les autres. Il suffit de l'enlever pour qu'ils s'affichent à nouveau côte à côte.
Modifié par Raphael (11 Mar 2020 - 14:38)