75 votes

Pourquoi devrais-je utiliser un conteneur div en HTML?

J'apprends actuellement html / css et j'ai remarqué qu'une technique courante consiste à placer un conteneur générique div à la racine de la balise body:

 <html>
  <head>
    ...
  </head>
  <body>
    <div id="container">
      ...
    </div>
  </body>
</html>
 

Y a-t-il une raison valable pour cela? Pourquoi le fichier css ne peut-il pas simplement référencer la balise body?

68voto

Jonathan Tran Points 7058

Le div conteneur, et parfois le contenu de la div, sont presque toujours utilisés pour permettre plus sophistiquée, le style CSS. La balise body est spécial à certains égards. Les navigateurs ne pas le traiter comme un normal div; sa position et ses dimensions sont liées à la fenêtre du navigateur.

Mais un div conteneur est juste un div et vous pouvez définir le style avec les marges et les frontières. Vous pouvez lui donner une largeur fixe, et vous pouvez le centre de margin-left: auto; margin-right: auto.

De Plus, le contenu, comme un avis de droit d'auteur, par exemple, peut aller à l'extérieur de la div conteneur, mais il ne peut pas aller à l'extérieur de l'organisme, permettant ainsi de contenu sur les l'extérieur de la frontière.

12voto

Mitchel Sellers Points 38352

Cette méthode vous permet d’avoir plus de flexibilité pour styliser tout votre contenu. Création efficace de deux conteneurs que vous pouvez styler. La balise HTML Body qui sert d’arrière-plan et la div avec un identifiant de conteneur qui contient votre contenu.

Cela vous permet ensuite de positionner votre contenu dans la page, tout en stylant un arrière-plan ou d’autres effets sans problème. Pensez-y comme un "cadre" pour le contenu.

2voto

Quentin Points 325526

Certains navigateurs (<cough> Internet Explorer) ne prennent pas en charge certaines propriétés du corps, notamment width et max-width .

2voto

da5id Points 4651

Les raisons les plus courantes pour moi sont les suivantes:

  1. La mise en page peut avoir une largeur fixe (oui, je sais, je fais beaucoup de travail pour les concepteurs qui aiment les largeurs fixes), et
  2. Ainsi, la mise en page peut être centrée en appliquant text-align: center au corps, puis margin: auto à gauche et à droite du conteneur div.

2voto

Michael Albers Points 6

Je sais que c’est une vieille question, mais j’ai moi-même fait face au problème de la refonte d’un site Web. Troy Dalmasso m'a fait réfléchir. Il fait un bon point. Alors, j'ai commencé à voir si je pouvais le faire fonctionner sans div conteneur.

Je pourrais quand je règle la largeur du corps. Dans mon cas à 960px.

C'est le css que j'utilise:

 html {
  text-align:center;
}

body {
  margin: 0 auto;
  width: 960px;
}
 

Cela permet de bien centrer les blocs en ligne qui ont également une largeur fixe.

J'espère que c'est utile à n'importe qui.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X