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-autosı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-fixedsınıfı,table-layout: fixedkullanı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):autobelirtildiğ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:fixedbelirtildiğ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
autoile 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.fixedile 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: separatekullanı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: collapsekullanı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):separatebelirtildiğ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:collapsebelirtildiğ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.
-
topbelirtmek, 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.
-
bottombelirtmek, 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.
showbelirtmek, boş hücrelerin de görüntülenmesini sağlar. Bu, varsayılan davranıştır.hidebelirtmek, 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.