HTML · 5/8
Tablolar
İlişkili verileri başlıklarıyla birlikte bir tabloya dönüştürmek.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Tablolar
İlişkili verileri başlıklarıyla birlikte bir tabloya dönüştürmek.
Kavramı kur
Tablo, satır ve sütunlar arasındaki ilişkiyi anlatır. Bir fiyat listesi veya ders programı buna örnektir. Sayfanın sağ ve sol sütununu tabloyla kurmak ise içerik anlamı ile yerleşimi karıştırır; görsel düzen için CSS Grid veya Flexbox kullanılır. Önce verinin satır ve sütun başlıklarını kâğıt üzerinde belirle.
Neden böyle çalışıyor?
th bir başlık hücresidir. scope="col" o başlığın bir sütunu, scope="row" bir satırı tanımladığını bildirir. caption tablonun ne hakkında olduğunu açıklayan bir başlıktır. Bu bilgiler ekran okuyucunun hücreler arasındaki ilişkiyi aktarabilmesine yardımcı olur; kalın yazı vermekle aynı şey değildir.
Çalışma sırası
Tablo küçük ekranda genişleyebilir. İçindeki veriyi sıkıştırıp okunamaz yapmak yerine gerektiğinde tabloyu kendi yatay kaydırma alanına al. Sayfanın tamamını yatay kaydırmak bir çözüm değildir. Başlıkların her satırla doğru eşleştiğini ve uzun kelimelerin hücre sınırlarını bozmadığını kontrol et.
İkinci örnek · 1
caption tablonun konusunu açıklar. Kodun tamamı yazılı derste bulunur.
Kod
<table>
<caption>Haftalık çalışma</caption>
<thead><tr><th scope="col">Gün</th><th scope="col">Dakika</th></tr></thead>
<tbody>
<tr><th scope="row">Pazartesi</th><td>30</td></tr>
<tr><th scope="row">Salı</th><td>45</td></tr>
</tbody>
</table>Beklenen sonucu oku
CSS kenarlık ekler; veri ilişkisinin anlamını ise HTML taşır.
Beklenen çıktı: Gün ve Dakika sütunlarında Pazartesi 30, Salı 45 verileri.
Bir değeri sen değiştir
İki sütunlu ve üç veri satırlı bir tablo oluştur. caption ekle; satır ve sütun başlıklarında scope kullan.
Hata nereden gelir?
Başlık yerine td kullanıp yazıyı kalınlaştırmak başlık ilişkisini kurmaz; th ve scope kullan.
Kendi çözümünü kur
Ekranı 320 piksele daralt; gerekirse tabloyu overflow-x:auto alanına al. Önce yalnızca başlık satırını yaz, sonra her satır için aynı veri düzenini tekrar et.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
Kod
<div style="overflow-x:auto">
<table>
<caption>Örnek fiyatlar</caption>
<tr><th scope="col">Ürün</th><th scope="col">TL</th></tr>
<tr><th scope="row">Defter</th><td>25</td></tr>
<tr><th scope="row">Kalem</th><td>10</td></tr>
</table>
</div>Kendini kontrol et
caption ve th aynı şeyi mi yapar? Yanıt: Hayır. caption bütün tablonun konusunu, th belirli satır veya sütunun başlığını belirtir.
Beklenen çıktı: İki ürün ve fiyatları; kapsayıcı gerektiğinde yatay kaydırılır.
Konu anlatımı
Tablo, satır ve sütunlar arasındaki ilişkiyi anlatır. Bir fiyat listesi veya ders programı buna örnektir. Sayfanın sağ ve sol sütununu tabloyla kurmak ise içerik anlamı ile yerleşimi karıştırır; görsel düzen için CSS Grid veya Flexbox kullanılır. Önce verinin satır ve sütun başlıklarını kâğıt üzerinde belirle.
th bir başlık hücresidir. scope="col" o başlığın bir sütunu, scope="row" bir satırı tanımladığını bildirir. caption tablonun ne hakkında olduğunu açıklayan bir başlıktır. Bu bilgiler ekran okuyucunun hücreler arasındaki ilişkiyi aktarabilmesine yardımcı olur; kalın yazı vermekle aynı şey değildir.
Tablo küçük ekranda genişleyebilir. İçindeki veriyi sıkıştırıp okunamaz yapmak yerine gerektiğinde tabloyu kendi yatay kaydırma alanına al. Sayfanın tamamını yatay kaydırmak bir çözüm değildir. Başlıkların her satırla doğru eşleştiğini ve uzun kelimelerin hücre sınırlarını bozmadığını kontrol et.
İlk örneği oku ve dene
Tablolar
<table> tablo, <tr> satır, <th> başlık hücresi, <td> normal hücre demek. Çizgileri ve boşlukları CSS ile ayarlıyoruz; tablo görsel yerleşim için değil, ilişkili verileri sunmak içindir.
<style>
table { border-collapse: collapse; }
th, td { border: 1px solid #64748b; padding: 8px; }
</style>
<table>
<tr>
<th>Dil</th>
<th>Örnek kullanım</th>
</tr>
<tr>
<td>Python</td>
<td>Otomasyon</td>
</tr>
<tr>
<td>Java</td>
<td>Sunucu uygulamaları</td>
</tr>
</table>
▶ Sonuç
İki sütunlu, çizgili bir tablo: üstte kalın "Dil" ve "Örnek kullanım" başlıkları, altında iki satır.
Adım adım neden böyle çalışıyor?
- caption tablonun konusunu açıklar.
- thead sütun başlıklarını, tbody veri satırlarını gruplar.
- Her veri satırındaki hücre sayısı başlık düzeniyle uyumlu olmalıdır.
- CSS kenarlık ekler; veri ilişkisinin anlamını ise HTML taşır.
İkinci çözümlü örnek
İlişkili verileri başlıklarıyla birlikte bir tabloya dönüştürmek.
<table>
<caption>Haftalık çalışma</caption>
<thead><tr><th scope="col">Gün</th><th scope="col">Dakika</th></tr></thead>
<tbody>
<tr><th scope="row">Pazartesi</th><td>30</td></tr>
<tr><th scope="row">Salı</th><td>45</td></tr>
</tbody>
</table>
▶ Sonuç
Gün ve Dakika sütunlarında Pazartesi 30, Salı 45 verileri.
Kolaydan zora sen dene
- İki sütunlu ve üç veri satırlı bir tablo oluştur.
- caption ekle; satır ve sütun başlıklarında scope kullan.
- Ekranı 320 piksele daralt; gerekirse tabloyu overflow-x:auto alanına al.
İpucunu aç
Önce yalnızca başlık satırını yaz, sonra her satır için aynı veri düzenini tekrar et.
Üç görevin açıklamalı çözümünü oku
- Başlık satırı ve veri satırlarında aynı sütun ilişkisini koru.
- caption tablonun konusunu, th/scope ise başlıkların ilişkisini belirtir.
- Geniş tabloyu kendi overflow-x:auto kapsayıcısına al; bütün sayfayı taşırma.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.
<div style="overflow-x:auto">
<table>
<caption>Örnek fiyatlar</caption>
<tr><th scope="col">Ürün</th><th scope="col">TL</th></tr>
<tr><th scope="row">Defter</th><td>25</td></tr>
<tr><th scope="row">Kalem</th><td>10</td></tr>
</table>
</div>
▶ Sonuç
İki ürün ve fiyatları; kapsayıcı gerektiğinde yatay kaydırılır.
Yaygın hata ve çözümü
- Başlık yerine td kullanıp yazıyı kalınlaştırmak başlık ilişkisini kurmaz; th ve scope kullan.
- Tabloyu sayfa yerleşimi için kullanma; bir kartın sağa geçmesi tablo verisi değildir.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
caption ve th aynı şeyi mi yapar?
Açıklamalı yanıt
Hayır. caption bütün tablonun konusunu, th belirli satır veya sütunun başlığını belirtir.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.