Menu

HTML Tablo Kenarlığı: border-collapse ve Yuvarlak Köşeler

CSS ile HTML tablosuna kenarlık ekleme: border-collapse ile tek çizgiler, border-spacing, yalnızca satır çizgileri, yalnızca iç kenarlıklar, yuvarlak köşeler ve border özelliğinin neden artık kullanılmadığı.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

Bir tabloya kenarlık nasıl eklenir

Tabloların varsayılan olarak kenarlığı yoktur. Onları CSS ile ekle: her hücredeki bir border ızgarayı çizer, tablodaki border-collapse: collapse de her komşu kenarlık çiftini tek bir çizgide birleştirir.

border kısaltması herhangi bir sırayla bir genişlik, bir stil ve bir renk alır: 1px solid #6b7280. Onu yalnızca table üzerine değil, th, td üzerine koy: tablodaki bir kenarlık yalnızca dış çerçeveyi çizer.

border-collapse: separate ve collapse

border-collapse hücrelerin kenarlık paylaşıp paylaşmayacağına karar verir.

DeğerSonuç
separate (varsayılan)Her hücrenin kendi kenarlığı vardır; hücreler arasındaki boşluğu border-spacing belirler
collapseKomşu hücreler tek bir kenarlığı paylaşır; border-spacing yok sayılır

Separate tabloda iki katmanı da görebilirsin: mavi tablo çerçevesi ve her hücrenin çevresinde, aralarında border-spacing kadar boşluk olan ayrı bir kehribar kutu. 6px değerini 0 yap, hücreler birbirine değer ama çizgiler hâlâ çifttir. Onları yalnızca collapse birleştirir.

Birleştirilmiş iki kenarlık karşılaştığında ve farklı olduklarında, daha geniş olan kazanır. Aynı genişlikte stil karar verir (double, solid karşısında kazanır; solid de dashed ve dotted karşısında kazanır), eşitlikte ise hücrenin kenarlığı satırınkini, satırınki de tablonunkini yener. Birleştirilmiş tablonun dış kenarının mavi değil kehribar olmasının nedeni budur: orada hem hücrelerin hem de tablonun 2px solid kenarlıkları var ve hücreler kazanır.

Yalnızca yatay çizgiler ya da yalnızca iç çizgiler

Çoğu modern tablo her çizgiyi çizmez. İki yaygın kalıp:

İkinci tablo, her kenar hücresinin dış tarafındaki kenarlığı kaldırır. border-inline-start ve border-inline-end satırın başı ve sonu demektir, böylece aynı CSS ilk hücrenin diğer tarafta olduğu sağdan sola yazılan dillerde de doğru kalır.

Yuvarlak tablo köşeleri

border-radius, border-collapse: collapse olan bir tabloda hiçbir şey yapmaz. Yuvarlak tablolar boşluksuz separate modelini kullanır ve hücrelere yalnızca alt ve son kenarlık vererek her çizgiyi bir kez çizer:

Başlığın iki köşe hücresi, gri arka plan eğriyi takip etsin diye kendi yarıçaplarını alır. O olmadan kare köşeleri yuvarlak kenarlığın dışına taşar. Yarıçap 9px'tir, yani tablonun 10px değerinden 1px kenarlığı çıkarılmış hâli, böylece iki eğri hizalanır.

Parçaya göre kenarlık rengi ve kalınlığı

Kenarlıklar tablonun parçasına göre farklı olabilir. thead, tfoot ve tek tek satırlar üzerindeki seçiciler başlığın altına ya da toplamların üstüne daha kalın bir çizgi koyar:

3px çizgiler, yukarıdaki birleştirme kurallarına göre, karşılaştıkları yerde 1px gri çizgilere üstün gelir. Tablo yapısının geri kalanı için (thead, tfoot, th) HTML table sayfasına bak.

border özelliği

Eski eğitimler <table> etiketinin üzerinde özellikler kullanır:

<table border="1" cellspacing="0" cellpadding="6">

Tarayıcılar border="1" değerine hâlâ uyar: separate modelinde tabloya ve her hücreye bir kenarlık çizer, bu da çift çizgili görünümü verir. Üç özellik de HTML5'te artık kullanılmıyor. CSS karşılıkları hücrelerde border, tabloda border-spacing (ya da border-collapse: collapse) ve hücrelerde padding şeklindedir.

Sık yapılan hatalar

  • Kenarlığın yalnızca table üzerinde olması. İçinde çizgi olmayan bir çerçeve elde edersin. Kenarlığı th, td üzerine ekle.
  • border-collapse: collapse değerini unutmak, sonra çift çizgiler görmek.
  • border-collapse: collapse ile border-radius. Yarıçap yok sayılır.
  • border-collapse: collapse ile border-spacing. Boşluk yalnızca separate modelinde çalışır.
  • Separate modelinde <tr> üzerine kenarlık. Tablo birleştirilmemişse satırlar kenarlık çizmez; onun yerine hücrelere stil ver.
  • Yeni kodda border="1" kullanmak. Hâlâ çalışır, ama renk ayarlayamaz ve artık kullanılmıyor.

Sıkça Sorulan Sorular

HTML'de bir tabloya kenarlık nasıl eklenir?

Tabloya ve hücrelerine CSS uygula: table { border-collapse: collapse; } th, td { border: 1px solid #999; }. Hücrelerdeki kenarlık ızgarayı çizer, border-collapse: collapse de komşu kenarlıkları tek çizgide birleştirir.

Tablomda neden çift kenarlık var?

Varsayılan olarak her hücre kendi kenarlığını, hücreler arasında bir boşlukla çizer (border-collapse: separate), bu yüzden komşu hücreler iki çizgi gösterir. Onları teke indirmek için <table> elementine border-collapse: collapse ver.

Tablonun border özelliği hâlâ geçerli mi?

<table border="1"> her tarayıcıda hâlâ kenarlık çizer, ama HTML5'te artık kullanılmıyor ve renk ya da stil üzerinde sana hiçbir kontrol vermez. Onun yerine CSS border özelliğini kullan.

Bir tablonun köşelerini nasıl yuvarlarım?

border-radius, border-collapse: collapse olan bir tabloda etki etmez. border-spacing: 0 ile border-collapse: separate kullan, yarıçapı tabloya ver ve arka planları köşelerden taşmasın diye köşe hücrelerine de uygun bir yarıçap ver (border-start-start-radius ve benzerleri).

Bir tablodan kenarlığı nasıl kaldırırım?

Bir şey eklemedikçe tabloların kenarlığı yoktur. <table> etiketinden border özelliğini kaldır ya da kenarlık ekleyen bir stil dosyasını geçersiz kılmak için table, th, td üzerine border: none ayarla.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA