Daha önce “CSS ile Tabloları şekillendirmek” adlı makalemizde tablo yapılarını gördük ve görünümünü daha güzel nasıl yaparız onun üzerinde durmuştuk. W3C bu durumu göz önünde bulundurarak tablo ve tablo elementlerinin görünümünü düzenlemek için tablo özellikleri ekledi. Tablolar diğer HTML elementlerinden daha farklı kendine has elementlerdir ve farklı özellikleri vardır. Burada CSS2 ile birlikte gelen yeni özellikleri inceleyeceğiz.
CSS2 ile birlikte gelen bu özelliklerden birçoğumuzun haberi olmayabilir. Ancak bizlere yardımcı olacak bu özelliklere göz atmak güzel. Bu özellikleri uygulamamızda en önemli etken tabiki IE’nin bu özelliklerin bir kısmını desteklememesidir. Bu tabiki IE’ye puan kaybettiriyor ve Microsoft’da bunun farkına geçte olsa vardığı söyleniyor ve IE8 ile birlikte tam CSS desteğini bizlere sunacakmış, tabi o zamana kadar Firefox IE’yi silip süpürmezse 😀
table-layout
Yapısı : table-layout: <deger>
Aldığı Değerler : auto | fixed | kalıtsallık
Başlnagıç değeri: auto
Uygulanabilen elementler: display: table ve display:inline-table olarak belirlenen elementlere
Kalıtsallık: Var
Mozilla 1+
Opera 7.5+
Safari 2+
W3C’s CSS Level 2+
CSS Profile 2.0
Normalde tablolar içeriğindeki bilgiye göre genişliğini arttırır. Bu bize bir esnek kazandırır ancak bazen tablo genişliğimizin sabit kalmasını isteriz. table-layout:fixed değeri tablo genişliğimizi sabitlememizi sağlar. table-layout:auto ise tablo genişliğini içeriğe göre arttırır.
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
- <html xmlns=”http://www.w3.org/1999/xhtml”>
- <head>
- <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
- <title>table-layout örneği</title>
- <style>
- table.otomatik {table-layout: auto; width: 350px; border-collapse: collapse;}
- table.sabit {table-layout: fixed; width: 350px; border-collapse: collapse;}
- td, th {border: 1px solid;}
- </style>
- </head>
- <body>
- <table cellpadding=”0″ cellspacing=”0″ class=”otomatik”>
- <caption>Limitli ADSL Fiyatları</caption>
- <tr>
- <th>Hızı*(Kbps) </th>
- <th>Kota(GB) </th>
- <th>Bağlantı Ücreti** </th>
- <th>Aylık Ücret </th>
- <th>Limitin Üzerindeki Her MB için Ücret*** </th>
- </tr>
- <tr>
- <td>1024/256′e kadar</td>
- <td>4</td>
- <td rowspan=”3″>29 YTL</td>
- <td>29 YTL</td>
- <td>0,010 YTL</td>
- </tr>
- <tr>
- <td>1024/256′e kadar</td>
- <td>6</td>
- <td>39 YTL</td>
- <td>0,009 YTL</td>
- </tr>
- <tr>
- <td>2048/512′e kadar</td>
- <td>6</td>
- <td>49YTL</td>
- <td>0,009 YTL</td>
- </tr>
- </table>
-
- <table cellpadding=”0″ cellspacing=”0″ class=”sabit”>
- <caption>Limitli ADSL Fiyatları</caption>
- <tr>
- <th>Hızı*(Kbps) </th>
- <th>Kota(GB) </th>
- <th>Bağlantı Ücreti** </th>
- <th>Aylık Ücret </th>
- <th>Limitin Üzerindeki Her MB için Ücret*** </th>
- </tr>
- <tr>
- <td>1024/256′e kadar</td>
- <td>4</td>
- <td rowspan=”3″>29 YTL</td>
- <td>29 YTL</td>
- <td>0,010 YTL</td>
- </tr>
- <tr>
- <td>1024/256′e kadar</td>
- <td>6</td>
- <td>39 YTL</td>
- <td>0,009 YTL</td>
- </tr>
- <tr>
- <td>2048/512′e kadar</td>
- <td>6</td>
- <td>49YTL</td>
- <td>0,009 YTL</td>
- </tr>
- </table>
- </body>
- </html>

Örneği görmek için tıklayınız.
caption-side
Yapısı : caption-side: <deger>
Aldığı Değerler : top | bottom | inherit
Başlnagıç değeri: top
Uygulanabilen elementler: display: table-caption olarak belirlenen elementlere
Kalıtsallık: Yok
Not: CSS2 ile birlikte left ve right değerleride vardı ancak kullanışsızlığı nedeni ile CSS2.1′de kaldırıldı.
caption-side: Tablonun başlığının(<caption>) nerede(altta mı üstte mi) olacağını belirler.

Örneği görmek için tıklayınız.
Bu özelliği IE(ie5+/mac destekliyor) desteklemiyor. Tüm tarayıcıların desteklediği şekilde kod yazmak için <caption> etiketinin align özelliği kullanılmalıdır. Örnek:
- <caption align=”bottom”> ve <caption align=”top”>
Mozilla 1.7+
Opera 7.5+
Safari 1.2+
W3C’s CSS Level 2+
CSS Profile 2.1


