Box-Sizing
Teil des Abschnitts Styling with CSS der HTML-Journey von Coddy — Lektion 39 von 76.
In CSS ist box-sizing eine Eigenschaft, die bestimmt, wie die Gesamtbreite und -höhe eines Elements berechnet werden. Standardmäßig enthalten die Eigenschaften width und height nur die Größe des Inhalts und berücksichtigen weder Innenabstände (Padding), Rahmen (Borders) noch Außenabstände (Margins). Durch die Verwendung der Eigenschaft box-sizing können Sie dieses Verhalten jedoch ändern und festlegen, dass die Eigenschaften width und height auch die Größen für Innenabstände und Rahmen einschließen.
Dies kann Layout-Berechnungen vereinfachen und unerwartete Größenprobleme verhindern.
Hier ist die grundlegende Syntax für die Verwendung der box-sizing-Eigenschaft:
selector {
box-sizing: value;
}value: Das gewünschte box-sizing-Verhalten, welches einer der folgenden Werte sein kann:
content-box: Dies ist der Standardwert. Die Eigenschaftenwidthundheightbeziehen sich nur auf die Größe des Inhalts. Padding, Rahmen und Außenabstände werden außerhalb der angegebenen Breite und Höhe hinzugefügt.
border-box: Die Eigenschaftenwidthundheightbeziehen den Inhalt, das Padding und die Rahmengrößen mit ein. Außenabstände (Margins) werden weiterhin außerhalb des Elements hinzugefügt.
Zum Beispiel:
div {
width: 300px;
height: 200px;
padding: 20px;
border: 5px solid black;
box-sizing: content-box; /* Standardverhalten */
}
.container {
width: 400px;
height: 300px;
padding: 30px;
border: 10px solid red;
box-sizing: border-box;
}In diesem Beispiel hat das <div>-Element einen box-sizing-Wert von content-box. Das bedeutet, dass die tatsächlich gerenderte Breite des <div> 300px (Inhalt) + 40px (linker und rechter Innenabstand) + 10px (linker und rechter Rahmen) = 350px sein wird. Die Höhe wird auf ähnliche Weise berechnet.
Andererseits hat das Element mit der Klasse container einen box-sizing-Wert von border-box. In diesem Fall beinhaltet die angegebene width von 400px den Inhalt, das Padding und den Rahmen. Der tatsächliche Inhaltsbereich verkleinert sich, um das Padding und den Rahmen aufzunehmen, was zu einer Inhaltsbreite von 400px - 60px (linkes und rechtes Padding) - 20px (linker und rechter Rahmen) = 320px führt. Die Höhe wird auf ähnliche Weise berechnet.
Aufgabe
EinfachIhnen wird ein HTML-Dokument mit zwei Bereichen (<div>) gegeben, die jeweils eine unterschiedliche Klasse haben. Ihre Aufgabe ist es, die Eigenschaft box-sizing zu verwenden, um zu steuern, wie die Breite und Höhe dieser Elemente berechnet werden. Befolgen Sie die folgenden Schritte:
- Schreiben Sie eine CSS-Regel, die das
<div>-Element mit der Klasse<strong>content-box-div</strong>anspricht. Setzen Sie diewidthauf300px, dieheightauf200px, daspaddingauf20px, denborderauf5px solid blueund dasbox-sizingaufcontent-box. - Schreiben Sie eine CSS-Regel, die das
<div>-Element mit der Klasse<strong>border-box-div</strong>anspricht. Setzen Sie diewidthauf300px, dieheightauf200px, daspaddingauf20px, denborderauf5px solid redund dasbox-sizingaufborder-box.
Spickzettel
Die Eigenschaft box-sizing bestimmt, wie die Gesamtbreite und -höhe eines Elements berechnet werden:
selector {
box-sizing: value;
}Werte:
content-box(Standard): Breite und Höhe beinhalten nur die Inhaltsgröße. Padding und Rahmen werden außen hinzugefügt.border-box: Breite und Höhe beinhalten Inhalt, Padding und Rahmengrößen. Außenabstände (Margins) werden weiterhin außen hinzugefügt.
/* Beispiel für content-box */
div {
width: 300px;
height: 200px;
padding: 20px;
border: 5px solid black;
box-sizing: content-box;
/* Gesamtbreite: 300px + 40px + 10px = 350px */
}
/* Beispiel für border-box */
.container {
width: 400px;
height: 300px;
padding: 30px;
border: 10px solid red;
box-sizing: border-box;
/* Gesamtbreite: 400px (Inhalt verkleinert sich passend) */
}Probier es selbst
<html>
<head>
<title>Box Sizing</title>
<style>
/* Write CSS rules here */
</style>
</head>
<body>
<div class="content-box-div">This is a div with content-box.</div>
<div class="border-box-div">This is a div with border-box.</div>
</body>
</html>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Styling with CSS
4Text-Grundlagen
TextfarbeSchriftfamilieSchriftgrößeSchriftstärkeTextausrichtungTextdekorationWiederholungs-Challenge #1Wiederholungs-Challenge #25Farben und Hintergründe
HintergrundfarbeHEX-FarbenRGB-FarbenTransparenz mit RGBAWiederholungs-Challenge #111Layout-Techniken
Block- vs. Inline-ElementeGrundlagen der PositionierungRelative PositionierungAbsolute PositionierungFixierte PositionierungZ-Index GrundlagenWiederholungs-Challenge14Abschluss-Herausforderungen
Elemente anordnenFilmlisteHochzeitseinladungSchwebende Benachrichtigung3Grundlegende Selektoren
Einführung in SelektorenTyp-SelektorKlassen-SelektorID-SelektorGruppen-SelektorenUniversal-SelektorSelektions-Herausforderung9Flexbox
Was ist Flexbox?Flex DirectionJustify ContentAlign ItemsDie perfekte ZentrierungFlexbox-Herausforderung12Grundlagen des Responsive Designs
Was ist Responsive Design?Viewport Meta TagFluid LayoutsViewport-EinheitenMedia Queries GrundlagenFlexible Bilder