Tabloyla ilgili CSS özellikleri
Bu makale, tabloyla ilgili CSS özelliklerini açıklamaktadır.
Tablo düzenleri, kenarlıklar, başlık pozisyonları ve daha fazlası için özellikleri nasıl kullanacağınızı ve yazacağınızı öğrenebilirsiniz.
YouTube Video
Önizleme için HTML
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>
Tablo düzeni
table-layout
özelliği
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
, HTML tablolarının düzenleme yöntemini kontrol eden bir CSS özelliğidir. Bu özellik, bir tablonun sütun genişliklerinin nasıl hesaplanacağını belirtmenize olanak tanır.
-
table-layout-auto
sınıfında, sütun genişlikleri her hücrenin içeriğine göre belirlenir. -
Sütun genişlikleri içeriğe göre değişir ve uzun içeriğe sahip hücreler sütunu genişletir.
-
table-layout-fixed
sınıfı,table-layout: fixed
kullanır. -
Her sütunun genişliği eşit olarak belirlenir ve içerik uzun olsa bile genişlik değişmez.
table-layout
değerleri
1table {
2 table-layout: auto;
3}
4
5table {
6 table-layout: fixed;
7}
table-layout
esas olarak iki değere sahiptir: auto
ve fixed
.
-
auto
(varsayılan değer):auto
belirtildiğinde, tablonun sütun genişlikleri içeriklere göre otomatik olarak ayarlanır.- Tarayıcı, her hücrenin tüm içeriğini okur ve sütun genişliklerini bu içeriğe göre belirler.
- Bu, tablonun tamamının daha yavaş renderlanmasına neden olabilir.
-
fixed
:fixed
belirtildiğinde, her sütunun genişliği birinci satırdaki hücrelerin genişliği veyawidth
özelliği ile belirlenir.- Tüm tablo hemen çizilir ve sütun genişlikleri tüm içerik okunmadan belirlenir.
- Tabloda çok fazla veri olduğunda bile performans iyileşir.
table-layout: auto
ve table-layout: fixed
arasındaki fark
auto
ile tablo genişliği içeriğe göre otomatik olarak ayarlanır. Daha dinamik bir düzen mümkün olabilir, ancak karmaşık tablolarla performans düşebilir.fixed
ile sütun genişlikleri sabitlenir ve tablo içeriğinden bağımsız olarak düzen tutarlı kalır. Performans iyileşirken, genişliğe sığmayan içerik kesilebilir.
border-collapse
özelliği
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
, tablo hücreleri arasındaki kenarların nasıl görüntüleneceğini kontrol eden bir CSS özelliğidir. Tablo hücreleri arasındaki kenarların nasıl görüntüleneceğini tanımlamak için kullanılır.
-
border-collapse: separate
kullanıldığında, hücreler arasında belirgin kenarlar ve boşluklar olur. Hücreler arasındaki boşlukborder-spacing
özelliğiyle ayarlanır. Bu örnekte, her hücre arasında 10px boşluk ayarlanmıştır. -
border-collapse: collapse
kullanıldığında, bitişik hücrelerin kenarları birleştirilir ve tek bir kenar olarak görüntülenir. Sonuç olarak, tablo daha uyumlu bir tasarıma sahip olur.
Bu örnekte olduğu gibi, border-collapse
özelliği esas olarak iki değere sahiptir: separate
ve collapse
.
-
separate
(varsayılan değer):separate
belirtildiğinde, her hücre kenarı ayrı olarak çizilir ve hücreler arasında boşluk olur.- Hücre kenarlarının ayrı bir şekilde görüntülendiği için kenarları açıkça ayırmak istediğinizde kullanılır.
- Hücreler arasındaki boşluk
border-spacing
özelliği ile ayarlanabilir.
-
collapse
:collapse
belirtildiğinde, bitişik hücrelerin kenarları birleştirilir ve tek bir kenar olarak görüntülenir.- Kenarlar üst üste bindiğinden, tüm tablo birleşik bir görünüme sahip olur.
- Tablonun satır ve sütunları düzenli bir şekilde görüntülenir, bu da onu daha basit bir tasarım için uygun hale getirir.
border-spacing
özelliği
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}
border-spacing
özelliği, bir HTML tablosundaki hücreler arasındaki boşluğu belirlemek için kullanılan bir CSS özelliğidir. Tablo hücreleri arasındaki boşluğu ayarlamaya ve görsel marjı kontrol etmeye yardımcı olur. Bu örnekte, hücre boşluğu yatayda 5px
, dikeyde 20px
olarak eklenmiştir.
border-spacing
özelliği yalnızca border-collapse: separate;
özelliğinin belirtildiği tablolarda etkili olur. border-collapse: collapse;
belirtildiyse, bu özellik etkisizdir.
Kullanım
border-spacing
özelliği için değerler piksel veya diğer uzunluk birimlerinde belirtilir. Aşağıdaki iki formatta belirtilebilir:.
- Tek değer
1table {
2 border-spacing: 10px;
3}
- Tek bir değer belirtildiğinde, satırlar (üst ve alt) ile sütunlar (sol ve sağ) arasındaki boşluk aynı değere ayarlanır.
Bu örnekte, tüm hücreler arasında 10px
boşluk eklenmiştir.
- İki değer
1table {
2 border-spacing: 10px 20px;
3}
- İki değer belirtildiğinde, birinci değer sütunlar arasındaki yatay boşluğu, ikinci değer ise satırlar arasındaki dikey boşluğu belirler.
Bu örnekte, sütunlar arasındaki boşluk 10px
ve satırlar arasındaki boşluk 20px
olarak belirlenmiştir.
caption-side
özelliği
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}
caption-side
özelliği, bir HTML tablosunun başlık (<caption>
elementi) kısmının nerede görüntüleneceğini belirlemek için kullanılan bir CSS özelliğidir.
-
top
belirtmek, başlığı tablonun üst kısmında görüntüler.- Bu, varsayılan bir ayardır ve başlıklar genellikle tablonun başlığı veya açıklaması olarak kullanılır.
-
bottom
belirtmek, başlığı tablonun alt kısmında görüntüler.- Bunu, açıklamaları tablonun altına yerleştirmek istediğinizde kullanın.
empty-cells
özelliği
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}
empty-cells
özelliği, bir HTML tablosundaki boş hücrelerin görüntülenip görüntülenmeyeceğini kontrol eden bir CSS özelliğidir. Varsayılan olarak, tablodaki boş hücreler de kenarlıkları gösterir, ancak bu özelliği kullanarak görüntülemeyi kontrol edebilirsiniz.
show
belirtmek, boş hücrelerin de görüntülenmesini sağlar. Bu, varsayılan davranıştır.hide
belirtmek, boş hücreleri görünmez yapar. Hücrelerin kenarları ve arka planları çizilmeyecek.
Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.