Czym jest model pudełkowy w CSS?
sobes.tech AI
Odpowiedź od AI
Model pudełkowy CSS opisuje, jak elementy są wyświetlane na stronie jako prostokątne bloki. Składa się z czterech stref lub warstw nakładających się na siebie, zaczynając od zawartości:
-
Zawartość: Obszar, w którym znajduje się rzeczywista zawartość elementu (tekst, obrazy itp.). Jego rozmiar jest określany przez właściwości
widthiheight. -
Padding (Wewnętrzny odstęp): Przezroczysty obszar między zawartością a obramowaniem elementu. Ustawia się go za pomocą właściwości
padding-top,padding-right,padding-bottom,padding-leftlub skrótupadding. -
Obramowanie (Border): Linia otaczająca Padding i Zawartość. Jej styl, grubość i kolor są określane przez właściwości
border-width,border-style,border-colorlub skróty, np.border. -
Margines (Margin): Przezroczysty obszar wokół obramowania elementu, oddzielający go od innych elementów. Ustawia się go za pomocą właściwości
margin-top,margin-right,margin-bottom,margin-leftlub skrótumargin. Marginesy sąsiadujących bloków mogą się nakładać.
Standardowe zachowanie, opisane przez box-sizing: content-box (domyślnie), określa, że właściwości width i height odnoszą się tylko do zawartości (Content). Padding i Border są dodawane do tego rozmiaru, zwiększając łączny rozmiar elementu.
Przy użyciu box-sizing: border-box, właściwości width i height obejmują Zawartość, Padding i Border. Margines zawsze dodaje się do łącznego rozmiaru elementu, niezależnie od box-sizing.
Przykład:
div {
width: 100px; /* Szerokość zawartości (dla content-box) lub całego elementu (dla border-box) */
height: 50px; /* Wysokość zawartości (dla content-box) lub całego elementu (dla border-box) */
padding: 10px; /* Wewnętrzny odstęp */
border: 2px solid black; /* Obramowanie */
margin: 15px; /* Margines zewnętrzny */
}
W zależności od wartości box-sizing, rzeczywiste rozmiary elementu będą różne.
box-sizing: content-box: Rzeczywista szerokość = 100px (Zawartość) + 10px (Padding-lewy) + 10px (Padding-prawy) + 2px (Border-lewy) + 2px (Border-prawy) = 124px. Rzeczywista wysokość = 50px (Zawartość) + 10px (Padding-górny) + 10px (Padding-dolny) + 2px (Border-górny) + 2px (Border-dolny) = 74px.box-sizing: border-box: Rzeczywista szerokość = 100px (Zawartość + Padding + Border). Rzeczywista wysokość = 50px (Zawartość + Padding + Border).
Margines zewnętrzny margin: 15px jest dodawany wokół tego całkowitego rozmiaru.