CSS-egenskaper relatert til boksmodellen
Denne artikkelen forklarer CSS-egenskapene relatert til boksmodellen.
Du kan lære om bruksområder og syntaks for egenskaper som bredde, høyde og margin.
YouTube Video
HTML for Forhåndsvisning
css-box.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Box Model Related CSS Properties</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-box.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>Box Model Related CSS Properties</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Box Model Related Properties</h2>
20 </header>
21 <article>
22 <h3>width and height</h3>
23 <section>
24 <header><h4>width: 250px; height: 150px;</h4></header>
25 <section class="sample-view">
26 <div class="width-height-fixed">Fixed size(250px,150px)</div>
27 </section>
28 </section>
29 <section>
30 <header><h4>width: 50%; height: 50%;</h4></header>
31 <section class="sample-view">
32 <div class="width-height-percent">Percentage size(50%,50%)</div>
33 </section>
34 </section>
35 <section>
36 <header><h4>width: min-content; height: min-content;</h4></header>
37 <section class="sample-view">
38 <div class="width-height-min-content">This is an example of min-content.</div>
39 </section>
40 </section>
41 <section>
42 <header><h4>width: max-content; height: max-content;</h4></header>
43 <section class="sample-view">
44 <div class="width-height-max-content">This is an example of max-content.</div>
45 </section>
46 </section>
47 <section>
48 <header><h4>width: fit-content; max-width: 150px;</h4></header>
49 <section class="sample-view">
50 <div class="width-height-fit-content">This is an example of fit-content.</div>
51 </section>
52 </section>
53 </article>
54 <article>
55 <h3>margin and padding</h3>
56 <section style="height: auto;">
57 <h4>Margin & padding</h4>
58 <header><h4>margin: 20px; padding: 15px;</h4></header>
59 <section class="sample-view">
60 <div class="margin-padding">margin & padding</div>
61 </section>
62 </section>
63 <section style="height: auto;">
64 <h4>Margin only(no padding)</h4>
65 <header><h4>margin: 20px; padding: 0;</h4></header>
66 <section class="sample-view">
67 <div class="margin-only">margin only</div>
68 </section>
69 </section>
70 <section style="height: auto;">
71 <h4>No margin & padding example</h4>
72 <header><h4>margin: 0; padding: 0;</h4></header>
73 <section class="sample-view">
74 <div class="no-margin">no margin & padding</div>
75 </section>
76 </section>
77 </article>
78 <article>
79 <h3>box-sizing</h3>
80 <section style="height: auto;">
81 <header><h4>box-sizing: content-box</h4></header>
82 <section class="sample-view">
83 <div style="width: 300px;">width: 300px</div>
84 <div class="content-box">Content Box</div>
85 <div style="width: 360px;">width: 360px</div>
86 </section>
87 </section>
88 <section>
89 <header><h4>box-sizing: border-box</h4></header>
90 <section class="sample-view">
91 <div style="width: 300px;">width: 300px</div>
92 <div class="border-box">Border Box</div>
93 </section>
94 </section>
95 </article>
96 <article>
97 <h3>visibility</h3>
98 <section>
99 <header><h4>visibility: visible</h4></header>
100 <section class="sample-view">
101 <div class="visibility-visible">Visible Box</div>
102 </section>
103 <header><h4>visibility: hidden</h4></header>
104 <section class="sample-view">
105 <div class="visibility-hidden">Hidden Box</div>
106 </section>
107 <header><h4>visibility: collapse</h4></header>
108 <section class="sample-view">
109 <div class="visibility-collapse">Collapsed Box (Hold layout space)</div>
110 </section>
111 <header><h4>HTML</h4></header>
112 <pre><div class="visibility-collapse">Collapsed Box (Hold layout space)</div></pre>
113 <header><h4>visibility: collapse</h4></header>
114 <section class="sample-view">
115 <table style="height: 200px; margin: auto;">
116 <tr class="visibility-collapse">
117 <td>Cell 1 (Remove layout space)</td>
118 </tr>
119 <tr>
120 <td>Cell 2</td>
121 </tr>
122 </table>
123 </section>
124 <header><h4>HTML</h4></header>
125<pre>
126<table style="height: 200px; margin: auto;">
127 <tr class="visibility-collapse">
128 <td>Cell 1 (Remove layout space)</td>
129 </tr>
130 <tr>
131 <td>Cell 2</td>
132 </tr>
133</table>
134</pre>
135 </section>
136 </article>
137 </main>
138</body>
139</html>Relatert til boksmodellen
width- og height-egenskaper
1.width-height-fixed {
2 width: 250px;
3 height: 150px;
4 background-color: lightblue;
5}
6
7.width-height-percent {
8 width: 50%;
9 height: 50%;
10 background-color: lightblue;
11}
12
13.width-height-min-content {
14 width: min-content;
15 height: min-content;
16 background-color: lightblue;
17}
18
19.width-height-max-content {
20 width: max-content;
21 height: max-content;
22 background-color: lightblue;
23}
24
25.width-height-fit-content {
26 width: fit-content;
27 max-width: 150px;
28 background-color: lightblue;
29}width- og height-egenskapene er CSS-egenskaper som brukes til å angi bredden og høyden til et element. Disse brukes spesielt når man angir størrelsen på blokk-elementer, bilder, videoer osv.
- I
width-height-fixed-klassen er faste verdier spesifisert for bredde og høyde. - I
width-height-percent-klassen er prosentverdier spesifisert for bredde og høyde.
Verdier som kan spesifiseres
width- og height-egenskapene kan ha følgende verdier.
auto: Standardstørrelse. Justerer størrelsen automatisk i forhold til det overordnede elementet.- Faste verdier: Angir en fast bredde i piksler, prosent eller relative enheter.(ex:
100px,50%,10rem)- For eksempel,
250pxsetter elementets størrelse til 250 piksler, og50%setter det til 50% av det overordnede elementets størrelse.
- For eksempel,
min-content: Passer til innholdets minste størrelse.max-content: Passer til innholdets største størrelse.fit-content: Justerer elementets størrelse passende basert på innholdets størrelse.
Spesifisere minimums- og maksimumsverdier
min-width, max-width, min-height og max-height er CSS-egenskaper som brukes til å angi størrelsesbegrensninger for bredden og høyden på et element. Ved å bruke disse kan du sikre at et element holder seg innenfor et bestemt størrelsesområde.
margin- og padding-egenskaper
1.margin-padding {
2 margin: 20px; /* Margin outside the element */
3 padding: 15px; /* Padding inside the element */
4 border: 1px solid #333;
5 background-color: lightblue;
6 width: 300px;
7 height: 40px;
8}
9
10.margin-only {
11 margin: 20px; /* Margin outside the element */
12 padding: 0; /* No padding inside the element */
13 border: 1px solid #333;
14 background-color: lightblue;
15 width: 300px;
16 height: 40px;
17}
18
19.no-margin {
20 margin: 0; /* No margin outside the element */
21 padding: 0; /* No padding inside the element */
22 border: 1px solid #333;
23 background-color: lightblue;
24 width: 300px;
25 height: 40px;
26}Margin og padding er egenskaper brukt i CSS for å kontrollere ytre og indre avstander på elementer innenfor boksmodellen. De brukes til å justere avstanden mellom elementer og rydde opp i utseendet.
- I
margin-padding-klassen er bådemarginogpaddingspesifisert. Det ermargin-plass utenfor den solide rammen ogpadding-plass innenfor den solide rammen. - I
margin-only-klassen er kunmarginspesifisert. Du kan se at det blå området er mindre sammenlignet medmargin-padding-klassen fordi det ikke erpadding-plass innenfor den solide rammen. - I
no-margin-klassen er bådemarginogpaddingsatt til 0. Du kan se at det blå området er skjøvet helt til venstre fordi det ikke ermargin-plass utenfor den solide rammen.
På denne måten setter margin-egenskapen den ytre plassen til et element og justerer avstanden mellom elementer. På den annen side setter padding-egenskapen den indre plassen til et element og justerer avstanden mellom innholdet og rammen.
margin-egenskap
-
Margin-egenskapen setter den ytre plassen (marginen) til et element. Den brukes til å lage plass mellom tilstøtende elementer. Følgende verdier kan spesifiseres:. -
Faste verdier: Du kan spesifisere størrelsen på marginen i piksler, relative enheter (em, rem) eller prosent.(ex:
10px,1em,5%) -
auto: Nyttig for å sentrere blokkelementer. Når bredden er spesifisert, justerer den automatisk marginene på venstre og høyre side. -
Positive og negative verdier: Positive verdier utvider plassen, mens negative verdier bringer elementer nærmere hverandre.
Forkortet notasjon:
1div.one-value {
2 margin: 20px;
3}
4
5div.two-value {
6 /* top-bottom left-right */
7 margin: 10px 5px;
8}
9
10div.three-value {
11 /* top left-right bottom */
12 margin: 10px 5px 15px;
13}
14
15div.four-value {
16 /* top right bottom left */
17 margin: 10px 5px 15px 20px;
18}Margin-egenskapen kan ta fra én til fire verdier.
- Én verdi: Gjelder for alle sider.
- To verdier: Den første gjelder topp og bunn, den andre gjelder venstre og høyre.
- Tre verdier: Gjelder i rekkefølgen topp, venstre og høyre, bunn.
- Fire verdier: Gjelder i rekkefølgen topp, høyre, bunn, venstre.
padding-egenskap
Funksjon:
-
padding-egenskapen setter det indre rommet (padding) til et element. Den brukes til å lage mellomrom mellom innholdet og rammen til et element. Følgende verdier kan spesifiseres:. -
Faste verdier: Angir størrelsen på paddingen.(ex:
10px,1em,5%) -
Negative verdier kan ikke brukes. Padding-verdier kan bare spesifiseres som positive tall.
Forkortet notasjon:
1div.one-value {
2 padding: 20px;
3}
4
5div.two-value {
6 /* top-bottom left-right */
7 padding: 10px 5px;
8}
9
10div.three-value {
11 /* top left-right bottom */
12 padding: 10px 5px 15px;
13}
14
15div.four-value {
16 /* top right bottom left */
17 padding: 10px 5px 15px 20px;
18}Akkurat som med margin, kan du spesifisere fra én til fire verdier.
- Én verdi: Gjelder for alle sider.
- To verdier: Den første gjelder topp og bunn, den andre gjelder venstre og høyre.
- Tre verdier: Gjelder i rekkefølgen topp, venstre og høyre, bunn.
- Fire verdier: Gjelder i rekkefølgen topp, høyre, bunn, venstre.
box-sizing-egenskap
1/* Default content-box : 300px + 2 * 20px + 2 * 10px = 360px */
2.content-box {
3 width: 300px;
4 padding: 20px;
5 border: 10px solid blue;
6 box-sizing: content-box;
7 background-color: lightblue;
8}
9
10/* Using border-box */
11.border-box {
12 width: 300px;
13 padding: 20px;
14 border: 10px solid red;
15 box-sizing: border-box;
16 background-color: lightcoral;
17}box-sizing er en CSS-egenskap som kontrollerer hvordan bredden og høyden til et element beregnes.
- I
content-box-klassen er bredden på elementet 360px.widther 300px, med venstre og høyrepaddingsom til sammen utgjør 40px og venstre og høyrebordersom til sammen utgjør 20px, hvilket gir en total på 360px. - I
border-boxer bredden på elementet 300px.paddingogborderer inkludert i den spesifisertewidth.
Verdier for box-sizing
Det er hovedsakelig to verdier for box-sizing: content-box og border-box, der content-box er standardverdien.
content-box
1.content-box {
2 box-sizing: content-box;
3 width: 200px;
4 padding: 20px;
5 border: 10px solid black;
6}
7/*
8260px = 200px(width) +
920px(padding-left) + 20px(padding-right) +
1010px(border-left) + 10px(border-right)
11*/Når content-box er spesifisert, angis bare innholdsbredden og høyden av width og height. padding og border legges til for å bestemme den endelige størrelsen. Med andre ord refererer width og height kun til innholdsområdet.
I dette eksempelet er den spesifiserte width 200px, men med breddene for venstre og høyre padding og border lagt til, blir den endelige faktiske bredden på elementet 260px.
border-box
1.border-box {
2 width: 200px;
3 padding: 20px;
4 border: 10px solid black;
5 box-sizing: border-box;
6}Når border-box er spesifisert, beregnes width og height inkludert padding og border. Med andre ord blir den spesifiserte width og height den totale størrelsen på innholdet, padding og border.
I dette tilfellet er den spesifiserte width 200px, og siden padding og border også er inkludert, forblir den endelige faktiske bredden på elementet 200px. padding og border justeres innenfor det.
Sammendrag av forskjellene i box-sizing
| Egenskap | Beregningsmetode | Faktisk breddeberegning |
|---|---|---|
content-box (standard) |
width refererer kun til innholdet. padding og border legges til. |
width + padding + border |
border-box |
width er alt (inkluderer innhold, padding, border) |
Den spesifiserte width brukes som den er. |
Fordeler med box-sizing
-
Bruk av
border-boxstabiliserer oppsettet. Å legge tilpaddingellerborderendrer ikke den spesifiserte størrelsen, noe som forenkler beregningene. -
Det er nyttig når man lager fleksible oppsett. I responsive design eller komplekse oppsett brukes
border-boxofte for å unngå uventede størrelsesvariasjoner.
Hvordan bruke border-box globalt
1*,
2*::before,
3*::after {
4 box-sizing: border-box;
5}Ved å sette CSS på denne måten kan du bruke border-box på alle elementer for å unngå uventede størrelsesendringer.
Sammendrag
box-sizingkontrollerer ompaddingogborderinkluderes i et elementswidthogheight.- Bruk av
border-boxgjør størrelsesberegninger enklere og er godt egnet for responsivt design.
visibility-egenskapen
1.visibility-visible {
2 visibility: visible;
3}
4
5.visibility-hidden {
6 visibility: hidden;
7}
8
9.visibility-collapse {
10 visibility: collapse;
11}visibility-egenskapen brukes for å vise eller skjule elementer, men i motsetning til display-egenskapen påvirker den oppsettet selv om elementet er skjult. Den skjuler bare elementet, men beholder dets originale posisjon og størrelse uten å påvirke oppsettet til andre elementer.
Grunnleggende Syntax
1element {
2 visibility: value;
3}verdi: En verdi som spesifiserer synligheten til elementet.
Verdityper
visibility-egenskapen kan settes til følgende verdier:.
visible
- Ved å spesifisere
visiblevises elementet. Dette er standardverdien.
hidden
- Ved å spesifisere
hiddenskjules elementet, men oppsettplassen beholdes.
collapse
collapsebrukes hovedsakelig for tabellrader eller kolonner. Elementet blir usynlig, og plassen det opptar ignoreres også. Når det brukes på tabellrader eller kolonner, fjernes de skjulte radene eller kolonnene helt fra oppsettet.- Men når det brukes på vanlige blokk- eller inline-elementer, bortsett fra tabellelementer, oppfører det seg som
hiddenog oppsettplassen beholdes.
inherit
- Ved å spesifisere
inheritvilvisibility-egenskapens verdi arves fra overordnet element.
Forskjeller mellom visibility og display
Det er følgende forskjeller mellom visibility og display.
visibility: hiddenskjuler elementet, men beholder dets plass og oppsett.display: nonefjerner elementet helt fra oppsettet, slik at andre elementer kan fylle plassen.
Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.