Zum Inhalt springen

CSS-Eigenschaft box-sizing

Die Eigenschaft box-sizing definiert die Berechnung von width und height eines Elements, wenn sie padding und border einschließen.

Die Eigenschaft box-sizing ist eine der CSS3-Eigenschaften.

Die Breite und Höhe eines Elements werden standardmäßig so berechnet:

  • width + padding + border = tatsächliche Breite eines Elements
  • height + padding + border = tatsächliche Höhe eines Elements

Wenn also die Breite und Höhe eines Elements definiert sind, erscheint das Element oft größer als festgelegt (weil der Rahmen und der Innenabstand des Elements zur angegebenen Breite und Höhe hinzugefügt werden).

Initial Valuecontent-box
Applies toAlle Elemente, die width und height akzeptieren.
InheritedNein.
AnimatableNein.
VersionCSS3
DOM Syntaxobject.style.boxSizing = "border-box";

Syntax

Syntax der CSS-Eigenschaft box-sizing

css
box-sizing: content-box | border-box | initial | inherit;

In diesem Beispiel werden zwei <div>-Elemente mit derselben angegebenen Breite und Höhe gezeigt:

Beispiel für die Eigenschaft box-sizing:

Beispiel der CSS-Eigenschaft box-sizing mit den Werten content-box und border-box

html
<!DOCTYPE html>
<html>
  <head>
    <style>
      .div1 {
        box-sizing: content-box;
        width: 400px;
        height: 50px;
        padding: 50px;
        border: 5px double #1c87c9;
      }
      .div2 {
        box-sizing: border-box;
        width: 400px;
        height: 50px;
        padding: 50px;
        border: 5px dashed #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Box-sizing Example</h2>
    <hr />
    <h3>box-sizing: content-box (default):</h3>
    <div class="div1">The width for this div is set as 400px. Thus, the full width is 400px + 10px (left and right border) + 100px (left and right padding) = 510px.</div>
    <br />
    <h3>box-sizing: border-box:</h3>
    <div class="div2">The width and height apply to all parts of the div element: The full width is 400px.</div>
  </body>
</html>

Ergebnis

CSS box-sizing Property

Wenn box-sizing als content-box definiert ist, ist die gesamte Breite größer als die definierte Breite des div. Und wenn box-sizing: border-box definiert ist, werden padding und border in die Breite und Höhe einbezogen.

Die Eigenschaften box-sizing und border-box werden zum Layouten von Elementen verwendet. Diese Methode ist nützlich, weil sie die Arbeit mit den Größen der Elemente erleichtert, indem sie die Anzahl der Stolperfallen verringert, auf die man beim Anordnen des Inhalts stoßen kann.

Beispiel für die Verwendung der Eigenschaft box-sizing, um zwei nebeneinander definierte umrandete Boxen zu erstellen:

Beispiel der CSS-Eigenschaft box-sizing mit dem Wert border-box

html
<!DOCTYPE html>
<html>
  <head>
    <style>
      div.container {
        width: 100%;
        border: 2px double #1c87c9;
      }
      div.box {
        box-sizing: border-box;
        width: 50%;
        border: 3px solid #ccc;
        float: left;
        padding: 3px;
      }
    </style>
  </head>
  <body>
    <h2>Box-sizing Example</h2>
    <p>Here you can see two bordered boxes defined side by side.</p>
    <div class="container">
      <div class="box">Left part</div>
      <div class="box">Right part</div>
      <div style="clear:both;"></div>
    </div>
  </body>
</html>

Werte

ValueDescription
content-boxDie Eigenschaften width und height schließen den Inhalt ein, aber padding, border oder margin sind nicht enthalten. Dies ist der Standardwert.
border-boxDie Eigenschaften width und height schließen content, padding und border ein, aber nicht den margin.
initialSetzt die Eigenschaft auf ihren Standardwert.
inheritÜbernimmt die Eigenschaft vom übergeordneten Element.

Practice

What does the CSS 'box-sizing' property do?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.