81 Stimmen

Warum sollte ich ein Container-Div in HTML verwenden?

Mir ist aufgefallen, dass eine gängige Technik darin besteht, ein allgemeines Container-Div in die Wurzel des Body-Tags zu setzen:

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

Gibt es einen triftigen Grund für dieses Vorgehen? Warum kann die CSS nicht einfach auf den Body-Tag verweisen?

71voto

Jonathan Tran Punkte 14914

Das Container-Div, und manchmal auch das Content-Div, werden fast immer verwendet, um ein ausgefeilteres CSS-Styling zu ermöglichen. Das body-Tag ist in mancher Hinsicht etwas Besonderes. Die Browser behandeln es nicht wie ein normales div; seine Position und Abmessungen sind an das Browserfenster gebunden.

Aber ein Container-Div ist nur ein Div, und Sie können es mit Rändern und Umrandungen gestalten. Sie können ihm eine feste Breite geben, und Sie können es mit margin-left: auto; margin-right: auto .

Außerdem können Inhalte, wie z. B. ein Copyright-Hinweis, außerhalb des Container-Divs platziert werden, aber nicht außerhalb des Körpers, so dass Inhalte außerhalb eines Rahmens möglich sind.

14voto

Mitchel Sellers Punkte 60318

Mit dieser Methode haben Sie mehr Flexibilität bei der Gestaltung Ihres gesamten Inhalts. Es werden effektiv zwei Container erstellt, die Sie gestalten können. Der HTML-Body-Tag, der als Hintergrund dient, und das div mit der ID container, das Ihren Inhalt enthält.

So können Sie Ihren Inhalt innerhalb der Seite positionieren und gleichzeitig einen Hintergrund oder andere Effekte problemlos gestalten. Betrachten Sie es als einen "Rahmen" für den Inhalt.

4voto

Michael Albers Punkte 113

Ich weiß, dass dies eine alte Frage ist, aber ich stand bei der Neugestaltung einer Website selbst vor diesem Problem. Troy Dalmasso hat mich zum Nachdenken gebracht. Er hat ein gutes Argument. Also habe ich angefangen zu sehen, ob ich es ohne Container-Div zum Laufen bringen kann.

Das konnte ich, als ich die Breite des Körpers festlegte. In meinem Fall auf 960px.

Dies ist das Css, das ich verwende:

html {
  text-align:center;
}

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

Dadurch werden die Inline-Blöcke, die ebenfalls eine feste Breite haben, schön zentriert.

Ich hoffe, dies ist für alle von Nutzen.

2voto

da5id Punkte 8980

Die häufigsten Gründe für mich sind so:

  1. Das Layout kann eine feste Breite haben (ja, ich weiß, ich arbeite viel für Designer, die feste Breiten lieben), und
  2. So kann das Layout zentriert werden, indem text-align: center auf den body und margin: auto auf die linke und rechte Seite des container div angewendet wird.

2voto

Quentin Punkte 850700

Bestimmte Browser (<hust> Internet Explorer) unterstützen bestimmte Eigenschaften des Körpers nicht, insbesondere width et max-width .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X