Sifat-sifat CSS berkaitan dengan model kotak
Artikel ini menerangkan sifat-sifat CSS yang berkaitan dengan model kotak.
Anda boleh mempelajari tentang kes penggunaan dan sintaks untuk sifat-sifat seperti lebar (width), tinggi (height), dan margin.
YouTube Video
HTML untuk Pratonton
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>Berkaitan Model Kotak
Sifat-sifat width dan height
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}Sifat width dan height adalah sifat CSS yang digunakan untuk menentukan lebar dan tinggi sesuatu elemen. Ini terutamanya digunakan apabila menetapkan saiz elemen blok, imej, video, dan sebagainya.
- Dalam kelas
width-height-fixed, nilai tetap ditetapkan untuk lebar dan tinggi. - Dalam kelas
width-height-percent, nilai peratusan ditetapkan untuk lebar dan tinggi.
Nilai yang boleh ditetapkan
Sifat width dan height boleh mempunyai nilai berikut.
auto: Saiz lalai. Melaraskan saiz secara automatik berbanding elemen induk.- Nilai tetap: Menetapkan lebar tetap dalam bentuk piksel, peratusan, atau unit relatif.(ex:
100px,50%,10rem)- Sebagai contoh,
250pxmenetapkan saiz elemen kepada 250 piksel, dan50%menetapkannya kepada 50% daripada saiz elemen induk.
- Sebagai contoh,
min-content: Menyesuaikan saiz minimum kandungan.max-content: Menyesuaikan saiz maksimum kandungan.fit-content: Melaraskan saiz elemen secara sesuai berdasarkan saiz kandungan.
Menentukan Nilai Minimum dan Maksimum
min-width, max-width, min-height, dan max-height adalah sifat CSS yang digunakan untuk menetapkan had saiz lebar dan tinggi sesuatu elemen. Menggunakan sifat-sifat ini, anda boleh memastikan elemen kekal dalam julat saiz tertentu.
Sifat-sifat margin dan padding
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 dan padding adalah sifat yang digunakan dalam CSS untuk mengawal jarak luar dan dalam elemen dalam model kotak. Ia digunakan untuk melaraskan jarak antara elemen dan untuk merapikan penampilan.
- Dalam kelas
margin-padding, kedua-duamargindanpaddingditentukan. Terdapat ruangmargindi luar sempadan pepejal dan ruangpaddingdi dalam sempadan pepejal. - Dalam kelas
margin-only, hanyamarginditentukan. Anda boleh melihat bahawa kawasan biru lebih kecil berbanding kelasmargin-paddingkerana tiada ruangpaddingdi dalam sempadan pepejal. - Dalam kelas
no-margin, kedua-duamargindanpaddingditetapkan kepada 0. Anda boleh melihat bahawa kawasan biru ditolak sepenuhnya ke kiri kerana tiada ruangmargindi luar sempadan pepejal.
Dengan cara ini, sifat margin menetapkan jarak luar elemen, melaraskan jarak antara elemen. Sebaliknya, sifat padding menetapkan jarak dalam elemen, melaraskan jarak antara kandungan dan sempadan.
Sifat margin
-
Sifat
marginmenetapkan jarak luar (margin) bagi sesuatu elemen. Ia digunakan untuk mencipta jarak antara elemen yang bersebelahan. Nilai berikut boleh ditentukan:. -
Nilai tetap: Anda boleh menentukan saiz margin dalam piksel, unit relatif (em, rem), atau peratusan.(ex:
10px,1em,5%) -
auto: Berguna untuk menjajarkan elemen blok di tengah. Apabila lebar ditentukan, ia secara automatik melaraskan margin kiri dan kanan. -
Nilai positif dan negatif: Nilai positif mengembangkan ruang, manakala nilai negatif mendekatkan elemen.
Notasi ringkas:
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}Sifat margin boleh mengambil dari satu hingga empat nilai.
- Satu nilai: Digunakan untuk semua sisi.
- Dua nilai: Yang pertama digunakan untuk atas dan bawah, yang kedua untuk kiri dan kanan.
- Tiga nilai: Digunakan mengikut turutan atas, kiri dan kanan, bawah.
- Empat nilai: Diterapkan dalam urutan atas, kanan, bawah, kiri.
Sifat padding
Fungsi:
-
Sifat
paddingmenetapkan ruang dalaman (padding) sesuatu elemen. Ia digunakan untuk mencipta ruang antara kandungan dan sempadan elemen. Nilai berikut boleh ditentukan:. -
Nilai tetap: Menentukan saiz padding.(ex:
10px,1em,5%) -
Nilai negatif tidak boleh digunakan. Nilai padding hanya boleh ditentukan sebagai nombor positif.
Notasi ringkas:
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}Seperti margin, anda boleh menetapkan dari satu hingga empat nilai.
- Satu nilai: Digunakan untuk semua sisi.
- Dua nilai: Yang pertama digunakan untuk atas dan bawah, yang kedua untuk kiri dan kanan.
- Tiga nilai: Digunakan mengikut turutan atas, kiri dan kanan, bawah.
- Empat nilai: Diterapkan dalam urutan atas, kanan, bawah, kiri.
Sifat box-sizing
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 adalah sifat CSS yang mengawal bagaimana lebar dan tinggi elemen dikira.
- Dalam kelas
content-box, lebar elemen adalah 360px.widthadalah 300px, denganpaddingkiri dan kanan sebanyak 40px danborderkiri dan kanan sebanyak 20px, menjadikan jumlah keseluruhan 360px. - Dalam
border-box, lebar elemen adalah 300px.paddingdanborderdimasukkan dalamwidthyang ditentukan.
Nilai box-sizing
Terdapat dua nilai utama untuk box-sizing: content-box dan border-box, dengan content-box sebagai nilai lalai.
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*/Apabila content-box ditentukan, hanya lebar dan tinggi kandungan yang ditetapkan oleh width dan height. padding dan border ditambahkan untuk menentukan saiz akhir. Dalam kata lain, width dan height hanya merujuk kepada kawasan kandungan.
Dalam contoh ini, width yang ditentukan adalah 200px, tetapi dengan lebar padding dan border kiri dan kanan ditambah, lebar sebenar elemen akhirnya adalah 260px.
border-box
1.border-box {
2 width: 200px;
3 padding: 20px;
4 border: 10px solid black;
5 box-sizing: border-box;
6}Apabila border-box ditentukan, width dan height dikira termasuk padding dan border. Dalam kata lain, width dan height yang ditentukan menjadi jumlah keseluruhan saiz kandungan, padding, dan border.
Dalam kes ini, width yang ditetapkan adalah 200px, dan kerana padding dan border turut disertakan, lebar sebenar akhir elemen kekal 200px. padding dan border diselaraskan di dalamnya.
Ringkasan perbezaan box-sizing
| Ciri | Kaedah Pengiraan | Pengiraan Lebar Sebenar |
|---|---|---|
content-box (lalai) |
width merujuk hanya kepada kandungan. padding dan border ditambah. |
width + padding + border |
border-box |
width merangkumi semua (termasuk kandungan, padding, border) |
width yang ditetapkan digunakan sebagaimana adanya. |
Kelebihan box-sizing
-
Menggunakan
border-boxmenstabilkan susun atur. Menambahkanpaddingataubordertidak mengubah saiz yang ditetapkan, menjadikan pengiraan lebih mudah. -
Ia berguna semasa mencipta susun atur yang fleksibel. Dalam reka bentuk responsif atau susun atur kompleks,
border-boxsering digunakan untuk mengelakkan perubahan saiz yang tidak dijangka.
Cara menerapkan border-box secara global
1*,
2*::before,
3*::after {
4 box-sizing: border-box;
5}Dengan menetapkan CSS dengan cara ini, anda boleh menerapkan border-box pada semua elemen untuk mengelakkan perubahan saiz yang tidak dijangka.
Ringkasan
box-sizingmengawal sama adapaddingdanborderdimasukkan dalamwidthdanheightelemen.- Menggunakan
border-boxmemudahkan pengiraan saiz dan sesuai untuk reka bentuk responsif.
Ciri visibility
1.visibility-visible {
2 visibility: visible;
3}
4
5.visibility-hidden {
6 visibility: hidden;
7}
8
9.visibility-collapse {
10 visibility: collapse;
11}Ciri visibility digunakan untuk menunjukkan atau menyembunyikan elemen, tetapi tidak seperti ciri display, ia mempengaruhi susun atur walaupun elemen tersebut disembunyikan. Ia hanya menyembunyikan elemen, mengekalkan kedudukannya dan saiz asalnya tanpa mempengaruhi susun atur elemen lain.
Sintaks Asas
1element {
2 visibility: value;
3}value: Nilai yang menentukan keterlihatan elemen.
Jenis nilai
- Ciri
visibilityboleh ditetapkan kepada nilai-nilai berikut:.
visible
- Menentukan
visibleakan memaparkan elemen tersebut. Ini adalah nilai lalai.
hidden
- Menentukan
hiddenakan menyembunyikan elemen tetapi ruang susunannya akan dikekalkan.
collapse
collapsebiasanya digunakan untuk baris atau lajur dalam jadual. Elemen menjadi tidak kelihatan dan ruangnya juga diabaikan. Apabila diterapkan pada baris atau lajur jadual, baris atau lajur yang tersembunyi akan sepenuhnya dikeluarkan dari susunan.- Namun, apabila digunakan pada elemen blok atau selari biasa, kecuali elemen jadual, ia bertindak seperti
hiddendan ruang susunan dikekalkan.
inherit
- Menentukan
inheritakan mewarisi nilai sifatvisibilitydari elemen induk.
Perbezaan antara visibility dan display
Berikut adalah perbezaan antara visibility dan display.
visibility: hiddenmenyembunyikan elemen tetapi mengekalkan ruang dan susunannya.display: nonesepenuhnya mengeluarkan elemen dari susunan, membolehkan elemen lain mengisi ruang tersebut.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.