Partage

Mettre flex dans la balise <body>

Sujet résolu
11 octobre 2017 à 19:09:09

Bonjour, je suis en train de suivre le tuto https://openclassrooms.com/courses/initiation-a-la-creation-d-un-design-extensible

j'aurai aimé utilisé flexbox pour agencer la page.

Je voulais donc savoir si sa se faisait de mettre dans les pages web, flex dans la balise <body> en faisant comme ça :

code html

<body class="flex">
  
  <header>..........</header>
  
  <nav>.............</nav>
  
  <section>.........</section>
  
  <footer>............</footer>

 </body>

code CSS

body
{
  display: flex;
    .........
}

Ou bien doit-on passer par float obligatoirement ?

J'ai chercher partout mais je n'ai pas réussi à trouvé quelque chose en rapport avec cela

Sur flex la seul chose qu'on explique c'est comment agencer des boîtes qui sont dans un bloc.

voilà j'espère que vous pourrez m'aider.

Merci par avance.



-
Edité par HBX360 11 octobre 2017 à 19:11:57

11 octobre 2017 à 19:20:15

Salut 

tient regarde ici l'utilisation de flex

tu peux mes je n'en vois pas trop l'utilité vos mieux faire une div contenair qui sera le bloc parent des blocs enfants de tout le reste et laissé le body tranquille 

je ferais sa moi perso 

11 octobre 2017 à 21:16:13

Bonsoir,

pourquoi veux-tu que le body soit une flexbox? quel intérêt ? les 4 éléments (header, nav, section, footer) vont s'afficher les uns après les autres, comme des éléments de type block, pas besoin de flex, et quel rapport avec float ? Quelle architecture veux-tu mettre en place ? Quelle est ton idée au départ ?

11 octobre 2017 à 21:59:07

Bonsoir, merci pour votre aide

pour l'instant je suis débutant.

@ChrisLebure

En fait je voudrait faire comme sur le tuto que j'ai cité mais sans utilisé float

La liste à puce il l'a met avec un float: left ce qui fait qu'elle est sur la gauche et le texte se trouve à droite.

Moi je voudrais faire le même chose mais avec flex et supprimer le float: left

@Skull-Dragon

oui je pourrai mettre un div mais dans le tuto de matéo il parle des blocks <header>, <nav>, <section> et <footer>

et il montre comment son placé chaque block après avoir utilisé le CSS voilà un l'image :

Je voudrai faire la même chose mais avec un flex.

Est-on obligé de mettre un div qui englobe toutes les balises marquées sur l'image pour pouvoir utilisé flex.

Je sais pas si je m'exprime bien désolé

mais quelle est l'intérêt de mettre une balise header si je suis obligé de la mettre dans une balise div

Sa me semble pas logique quoi ; que le div soit dans le header me semble plus logique non ?

Je viens de voir la page qui tu as mis en lien ce site je l'ai vu mais tu vois j'ai mal regardé car en fait il met bien un display: flex dans le body

On le voit au sous-titre : Exemple d’un layout complet

Et dans le code à la ligne : 11 il met :

body {
  display: flex; /* crée un contexte flex pour ses enfants */
  flex-direction: column; /* affichage vertical */
  min-height: 100vh; /* toute la hauteur du viewport */
  padding: 1em;
}



donc lui fait bien comme ça qu'est-ce tant pense faut-il que je mette un div ou que je fasse comme sur leur site ?

-
Edité par HBX360 11 octobre 2017 à 22:15:46

Anonyme
11 octobre 2017 à 22:26:27

Hello,

"header" et "footer" ont un comportement normal, donc pas besoin d'y toucher !

Par contre "nav" se trouve à côté de "section", donc il faut appliquer un "display:flex" sur le conteneur qui les englobe pour les avoir côte à côte. Comme de base il n'y en a pas(de conteneur) on place une "div" qui englobe ces deux éléments, qu'on pourrait appeler "main" par exemple.

Flex se place sur le conteneur mais agit sur les enfants.

11 octobre 2017 à 22:35:24

Salut,

Tu peux tout à fait utiliser flexbox sur body, il n'y a aucune contre-indication. Ça sert notamment, comme tu le montres en exemple, à faire en sorte que le footer ne puisse pas se balader au milieu de la page s'il n'y a pas assez de contenu.

Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !
11 octobre 2017 à 22:39:13

Ok merci pour votre aide je pense que c'est ok maintenant.

Je vais mettre sur résolu

Bin ché pas ou on met résoulu

-
Edité par HBX360 11 octobre 2017 à 22:40:04

11 octobre 2017 à 22:48:25

Au niveau de ton premier message
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

Mettre flex dans la balise <body>

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown