Properti CSS terkait Tabel
Artikel ini menjelaskan properti CSS yang terkait dengan tabel.
Anda dapat belajar cara menggunakan dan menulis properti untuk tata letak tabel, border, posisi judul, dan lainnya.
YouTube Video
HTML untuk Pratinjau
css-table.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>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-table.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>Table Related CSS Properties</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Table Related Properties</h2>
20 </header>
21 <article>
22 <h3>table-layout</h3>
23 <section>
24 <header><h4>table-layout: auto</h4></header>
25 <section class="sample-view">
26 <table class="table-layout-auto">
27 <thead>
28 <tr>
29 <th>Column 1</th>
30 <th>Column 2</th>
31 <th>Column 3</th>
32 </tr>
33 </thead>
34 <tbody>
35 <tr>
36 <td>Short</td>
37 <td>Some longer content here</td>
38 <td>Content</td>
39 </tr>
40 <tr>
41 <td>Another short one</td>
42 <td>This is a much longer piece of text to demonstrate the auto layout</td>
43 <td>Short</td>
44 </tr>
45 </tbody>
46 </table>
47 </section>
48 </section>
49 <section>
50 <header><h4>table-layout: fixed</h4></header>
51 <section class="sample-view">
52 <table class="table-layout-fixed">
53 <thead>
54 <tr>
55 <th>Column 1</th>
56 <th>Column 2</th>
57 <th>Column 3</th>
58 </tr>
59 </thead>
60 <tbody>
61 <tr>
62 <td>Short</td>
63 <td>Some longer content here</td>
64 <td>Content</td>
65 </tr>
66 <tr>
67 <td>Another short one</td>
68 <td>This is a much longer piece of text to demonstrate the fixed layout</td>
69 <td>Short</td>
70 </tr>
71 </tbody>
72 </table>
73 </section>
74 </section>
75 </article>
76 <article>
77 <h3>border-collapse</h3>
78 <section>
79 <header><h4>border-collapse: separate</h4></header>
80 <section class="sample-view">
81 <table class="border-collapse-separate">
82 <thead>
83 <tr>
84 <th>Header 1</th>
85 <th>Header 2</th>
86 <th>Header 3</th>
87 </tr>
88 </thead>
89 <tbody>
90 <tr>
91 <td>Cell 1</td>
92 <td>Cell 2</td>
93 <td>Cell 3</td>
94 </tr>
95 <tr>
96 <td>Cell 4</td>
97 <td>Cell 5</td>
98 <td>Cell 6</td>
99 </tr>
100 </tbody>
101 </table>
102 </section>
103 </section>
104 <section>
105 <header><h4>border-collapse: collapse</h4></header>
106 <section class="sample-view">
107 <table class="border-collapse-collapse">
108 <thead>
109 <tr>
110 <th>Header 1</th>
111 <th>Header 2</th>
112 <th>Header 3</th>
113 </tr>
114 </thead>
115 <tbody>
116 <tr>
117 <td>Cell 1</td>
118 <td>Cell 2</td>
119 <td>Cell 3</td>
120 </tr>
121 <tr>
122 <td>Cell 4</td>
123 <td>Cell 5</td>
124 <td>Cell 6</td>
125 </tr>
126 </tbody>
127 </table>
128 </section>
129 </section>
130 </article>
131 <article>
132 <h3>border-spacing</h3>
133 <section>
134 <header><h4>border-spacing: 5px 20px</h4></header>
135 <section class="sample-view">
136 <table class="border-spacing-example">
137 <thead>
138 <tr>
139 <th>Header 1</th>
140 <th>Header 2</th>
141 <th>Header 3</th>
142 </tr>
143 </thead>
144 <tbody>
145 <tr>
146 <td>Cell 1</td>
147 <td>Cell 2</td>
148 <td>Cell 3</td>
149 </tr>
150 <tr>
151 <td>Cell 4</td>
152 <td>Cell 5</td>
153 <td>Cell 6</td>
154 </tr>
155 </tbody>
156 </table>
157 </section>
158 </section>
159 </article>
160 <article>
161 <h3>caption-side</h3>
162 <section>
163 <header><h4>caption-side: top</h4></header>
164 <section class="sample-view">
165 <table>
166 <caption class="caption-side-top">
167 Table Caption on Top
168 </caption>
169 <thead>
170 <tr>
171 <th>Header 1</th>
172 <th>Header 2</th>
173 <th>Header 3</th>
174 </tr>
175 </thead>
176 <tbody>
177 <tr>
178 <td>Data 1</td>
179 <td>Data 2</td>
180 <td>Data 3</td>
181 </tr>
182 <tr>
183 <td>Data 4</td>
184 <td>Data 5</td>
185 <td>Data 6</td>
186 </tr>
187 </tbody>
188 </table>
189 </section>
190 </section>
191 <section>
192 <header><h4>caption-side: bottom</h4></header>
193 <section class="sample-view">
194 <table>
195 <caption class="caption-side-bottom">
196 Table Caption on Bottom
197 </caption>
198 <thead>
199 <tr>
200 <th>Header 1</th>
201 <th>Header 2</th>
202 <th>Header 3</th>
203 </tr>
204 </thead>
205 <tbody>
206 <tr>
207 <td>Data 1</td>
208 <td>Data 2</td>
209 <td>Data 3</td>
210 </tr>
211 <tr>
212 <td>Data 4</td>
213 <td>Data 5</td>
214 <td>Data 6</td>
215 </tr>
216 </tbody>
217 </table>
218 </section>
219 </section>
220 </article>
221 <article>
222 <h3>empty-cells</h3>
223 <section>
224 <header><h4>empty-cells: show</h4></header>
225 <section class="sample-view">
226 <table class="empty-cells-show">
227 <tr>
228 <th>Header 1</th>
229 <th>Header 2</th>
230 <th>Header 3</th>
231 </tr>
232 <tr>
233 <td>Data 1</td>
234 <td></td> <!-- Empty cell -->
235 <td>Data 3</td>
236 </tr>
237 <tr>
238 <td>Data 4</td>
239 <td></td> <!-- Empty cell -->
240 <td>Data 6</td>
241 </tr>
242 </table>
243 </section>
244 </section>
245 <section>
246 <header><h4>empty-cells: hide</h4></header>
247 <section class="sample-view">
248 <table class="empty-cells-hide">
249 <tr>
250 <th>Header 1</th>
251 <th>Header 2</th>
252 <th>Header 3</th>
253 </tr>
254 <tr>
255 <td>Data 1</td>
256 <td></td> <!-- Empty cell -->
257 <td>Data 3</td>
258 </tr>
259 <tr>
260 <td>Data 4</td>
261 <td></td> <!-- Empty cell -->
262 <td>Data 6</td>
263 </tr>
264 </table>
265 </section>
266 </section>
267 </article>
268 </main>
269</body>
270</html>
Tata letak tabel
Properti table-layout
1table {
2 width: 100%;
3}
4
5th, td {
6 border: 1px solid black;
7 padding: 10px;
8}
9
10table.table-layout-auto {
11 border-collapse: collapse;
12 table-layout: auto;
13}
14
15table.table-layout-fixed {
16 border-collapse: collapse;
17 table-layout: fixed;
18}
19
20table.table-layout-fixed th {
21 width: 33.33%; /* Distribute width equally among 3 columns */
22}
table-layout
adalah properti CSS yang mengontrol metode tata letak tabel HTML. Properti ini memungkinkan Anda menentukan cara menghitung lebar kolom pada tabel.
-
Dalam kelas
table-layout-auto
, lebar kolom ditentukan berdasarkan isi dalam setiap sel. -
Lebar kolom bervariasi sesuai dengan isi, dan sel dengan konten panjang akan memperlebar kolom.
-
Kelas
table-layout-fixed
menggunakantable-layout: fixed
. -
Lebar setiap kolom diatur sama rata, dan lebar tidak berubah meskipun kontennya panjang.
Nilai pada table-layout
1table {
2 table-layout: auto;
3}
4
5table {
6 table-layout: fixed;
7}
table-layout
memiliki dua nilai utama: auto
dan fixed
.
-
auto
(nilai default):- Menentukan
auto
secara otomatis menyesuaikan lebar kolom tabel berdasarkan kontennya. - Browser membaca semua konten dari setiap sel dan menentukan lebar setiap kolom berdasarkan konten tersebut.
- Hal ini dapat menghasilkan waktu rendering tabel yang lebih lambat.
- Menentukan
-
fixed
:- Menentukan
fixed
berarti lebar setiap kolom ditentukan oleh lebar sel di baris pertama atau oleh atributwidth
. - Seluruh tabel digambar secara langsung dan lebar kolom ditentukan tanpa membaca semua konten.
- Kinerja meningkat bahkan ketika ada banyak data dalam tabel.
- Menentukan
Perbedaan antara table-layout: auto
dan table-layout: fixed
- Dengan
auto
, lebar tabel secara otomatis menyesuaikan dengan kontennya. Tata letak yang lebih dinamis memungkinkan, tetapi kinerja mungkin menurun dengan tabel yang kompleks. - Dengan
fixed
, lebar kolom diperbaiki, mempertahankan tata letak yang konsisten terlepas dari konten tabel. Meskipun kinerja meningkat, konten mungkin terpotong jika tidak sesuai dengan lebar.
Properti border-collapse
1table.border-collapse-separate {
2 border-collapse: separate;
3 border-spacing: 10px; /* Set space between cells */
4}
5
6table.border-collapse-collapse {
7 border-collapse: collapse;
8}
border-collapse
adalah properti CSS yang mengatur bagaimana batas antara sel tabel ditampilkan. Ini digunakan untuk menentukan bagaimana batas antara sel tabel ditampilkan.
-
Saat menggunakan
border-collapse: separate
, akan ada batas dan ruang yang terpisah antara sel-sel. Jarak antara sel disesuaikan dengan propertiborder-spacing
. Dalam contoh ini, jarak 10px diatur antara setiap sel. -
Saat menggunakan
border-collapse: collapse
, batas dari sel yang berdekatan digabungkan dan ditampilkan sebagai satu batas. Akibatnya, tabel memiliki desain yang lebih kohesif.
Seperti dalam contoh ini, properti border-collapse
terutama memiliki dua nilai: separate
dan collapse
.
-
separate
(nilai default):- Saat menspesifikasikan
separate
, setiap batas sel digambar secara terpisah, dan ada ruang di antara sel-sel. - Ini digunakan ketika Anda ingin dengan jelas membedakan batas-batas, karena batas sel ditampilkan terpisah.
- Ruang antara sel dapat disesuaikan dengan properti
border-spacing
.
- Saat menspesifikasikan
-
collapse
:- Saat menspesifikasikan
collapse
, batas dari sel yang berdekatan digabungkan dan ditampilkan sebagai satu batas. - Karena batas-batasnya saling tumpang tindih, seluruh tabel memiliki tampilan yang menyatu.
- Baris dan kolom tabel ditampilkan dengan rapi, membuatnya cocok untuk desain yang lebih sederhana.
- Saat menspesifikasikan
Properti border-spacing
1table.border-spacing-example {
2 border-collapse: separate;
3
4 /* Set 5px spacing between columns and 20px spacing between rows */
5 border-spacing: 5px 20px;
6}
Properti border-spacing
adalah properti CSS untuk menentukan jarak antara sel dalam tabel HTML. Ini membantu menyesuaikan ruang antara sel tabel dan mengontrol margin visual. Dalam contoh ini, jarak sel ditambahkan sebagai 5px
secara horizontal dan 20px
secara vertikal.
Properti border-spacing
hanya berpengaruh pada tabel di mana border-collapse: separate;
ditentukan. Jika border-collapse: collapse;
ditentukan, properti ini tidak berfungsi.
Penggunaan
Nilai untuk properti border-spacing
ditentukan dalam piksel atau unit panjang lainnya. Dapat ditentukan dalam dua format berikut:.
- Satu nilai
1table {
2 border-spacing: 10px;
3}
- Saat menentukan satu nilai, jarak antara baris (atas dan bawah) dan kolom (kiri dan kanan) diatur dengan nilai yang sama.
Dalam contoh ini, jarak sebesar 10px
ditambahkan di antara semua sel.
- Dua nilai
1table {
2 border-spacing: 10px 20px;
3}
- Saat menentukan dua nilai, nilai pertama menetapkan jarak horizontal antara kolom, dan nilai kedua menetapkan jarak vertikal antara baris.
Dalam contoh ini, jarak antara kolom adalah 10px
, dan jarak antara baris adalah 20px
.
Properti caption-side
1caption.caption-side-top {
2 caption-side: top; /* Display the caption at the top of the table */
3 font-weight: bold;
4 font-size: 1.2em;
5 margin-bottom: 10px;
6 background-color: #ccc;
7}
8
9caption.caption-side-bottom {
10 caption-side: bottom; /* Display the caption at the bottom of the table */
11 font-weight: bold;
12 font-size: 1.2em;
13 margin-top: 10px;
14 background-color: #ccc;
15}
Properti caption-side
adalah properti CSS yang digunakan untuk menentukan di mana caption (elemen <caption>
) dari tabel HTML ditampilkan.
-
Menentukan
top
akan menampilkan caption di bagian atas tabel.- Ini adalah pengaturan default, dan caption sering digunakan sebagai judul atau deskripsi tabel.
-
Menentukan
bottom
akan menampilkan caption di bagian bawah tabel.- Gunakan ini jika Anda ingin menempatkan penjelasan di bawah tabel.
Properti empty-cells
1table.empty-cells-show {
2 empty-cells: show; /* Display empty cells */
3}
4
5table.empty-cells-hide {
6 empty-cells: hide; /* Display empty cells */
7}
Properti empty-cells
adalah properti CSS untuk mengontrol apakah sel kosong dalam tabel HTML ditampilkan atau tidak. Secara default, sel kosong dalam tabel juga menampilkan batas, tetapi Anda dapat menggunakan properti ini untuk mengontrol tampilan.
- Menentukan
show
juga akan menampilkan sel kosong. Ini adalah perilaku default. - Menentukan
hide
akan membuat sel kosong menjadi tidak terlihat. Perbatasan dan latar belakang sel tidak akan digambar.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.