Rein In Fluid Width By Limiting HTML Width

Avatar of Chris Coyier
Chris Coyier on

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Das <html>-Element ist das oberste Element auf jeder Webseite. Jedes andere Element befindet sich darin. Wenn Sie eine Seite mit fließender Breite erstellen, aber die maximale Breite, auf die sie erweitert werden kann, begrenzen möchten (eine gute Idee), können Sie dies ganz einfach tun, indem Sie dem html-Element buchstäblich eine max-width zuweisen.

html {
  max-width: 1200px;
}

Nichts wird auf natürliche Weise breiter als das, es sei denn, es wird explizit erzwungen. Sie können sogar die Dinge zentriert halten.

html {
  max-width: 1200px;
  margin: 0 auto;
}

Aber was ist mit dem Hintergrund? Wird er jetzt an den Rändern abgeschnitten, wenn Sie breiter gehen? Nein. Das html-Element ist in dieser Hinsicht einzigartig, und der Hintergrund füllt die Seite, unabhängig davon, ob Sie ihn kleiner machen.

html {
  max-width: 1200px;
  margin: 0 auto;
  background: #eee; /* Fills the page */
}

Noch eine etwas seltsame Sache… obwohl das HTML-Element seine neue Größe berücksichtigt und das oberste Element ist, sind absolut positionierte Elemente immer noch relativ zum Browserfenster und nicht zum html-Element, es sei denn, Sie setzen die position-Eigenschaft auf relative.

html {
  max-width: 1200px;
  margin: 0 auto;
  background: #eee; /* Fills the page */
  position: relative; /* Fix for absolute positioning */
}

Funktioniert in allen gängigen Browsern plus IE 8+. IE6 & 7 lassen das html-Element einfach volle Breite, was nicht das Ende der Welt ist.

Vielen Dank an Kit MacAllister für die Einsendung dazu.