Junior
Czym jest model pudełkowy, z czego się składa i jakie są jego rodzaje?
sobes.tech AI
Odpowiedź od AI
Model pudełkowy (CSS Box Model) to abstrakcyjna jednostka opisująca, jak elementy HTML są przedstawiane na stronie w postaci prostokątnych bloków. Określa rozmiar i rozmieszczenie zawartości, wewnętrznych odstępów, granic i zewnętrznych marginesów elementu.
Model pudełkowy składa się z następujących części:
- Zawartość: Zawartość elementu (tekst, obrazy itp.). Jego rozmiar jest określany przez właściwości
widthiheight. - Padding: Przestrzeń między zawartością elementu a jego granicą. Określa się ją właściwościami
padding-top,padding-right,padding-bottom,padding-leftlub skróconą właściwościąpadding. - Border: Granica wokół wewnętrznego odstępu i zawartości. Określa się ją właściwościami
border-width,border-style,border-colorlub skróconą właściwościąborder. - Margin: Przestrzeń między granicą elementu a elementami zewnętrznymi. Określa się ją właściwościami
margin-top,margin-right,margin-bottom,margin-leftlub skróconą właściwościąmargin.
Istnieją dwa główne rodzaje modelu pudełkowego, określane przez właściwość box-sizing:
content-box(domyślna wartość): Szerokość i wysokość elementu, ustawione przez właściwościwidthiheight, odnoszą się tylko do obszaru zawartości. Padding i Border są dodawane do tych rozmiarów, zwiększając łączny rozmiar elementu.div { width: 100px; height: 100px; padding: 10px; /* Dodaje 20px do łącznego rozmiaru na każdej osi */ border: 2px solid black; /* Dodaje 4px do łącznego rozmiaru na każdej osi */ box-sizing: content-box; /* Domyślne zachowanie */ } /* Całkowity rozmiar elementu będzie wynosił 124px na 124px */border-box: Szerokość i wysokość elementu, ustawione przez właściwościwidthiheight, obejmują zawartość, padding i border. Padding i Border nie zwiększają łącznego rozmiaru elementu, lecz "ściśnięcie" obszaru zawartości.div { width: 100px; height: 100px; padding: 10px; /* Wliczone w łączną szerokość/wysokość */ border: 2px solid black; /* Wliczone w łączną szerokość/wysokość */ box-sizing: border-box; } /* Całkowity rozmiar elementu będzie wynosił 100px na 100px */
Często używa się border-box dla bardziej przewidywalnego zachowania rozmiarów elementów przy dodawaniu padding i border. Jest to przydatne np. przy tworzeniu responsywnych układów, gdzie elementy mają zajmować określoną procentową szerokość.