Saya mencoba mencari cara menambahkan perbatasan hanya di dalam tabel. Ketika saya melakukannya:
table {
border: 0;
}
table td, table th {
border: 1px solid black;
}
Perbatasan berada di sekitar seluruh tabel dan juga di antara sel-sel tabel. Yang ingin saya capai adalah memiliki perbatasan hanya di dalam tabel di sekitar sel tabel (tanpa batas luar di sekitar tabel).
Berikut ini markup yang saya gunakan untuk tabel (walaupun saya pikir itu tidak penting):
<table>
<tr>
<th>Heading 1</th>
<th>Heading 2</th>
</tr>
<tr>
<td>Cell (1,1)</td>
<td>Cell (1,2)</td>
</tr>
<tr>
<td>Cell (2,1)</td>
<td>Cell (2,2)</td>
</tr>
<tr>
<td>Cell (3,1)</td>
<td>Cell (3,2)</td>
</tr>
</table>
Dan inilah beberapa gaya dasar yang saya terapkan pada sebagian besar tabel saya:
table {
border-collapse: collapse;
border-spacing: 0;
}
html
css
html-table
border
Richard Knop
sumber
sumber
Jawaban:
Jika Anda melakukan apa yang saya yakin sedang Anda coba, Anda akan membutuhkan sesuatu yang sedikit lebih seperti ini:
Demo jsFiddle
Masalahnya adalah bahwa Anda menetapkan 'batas penuh' di sekitar semua sel, yang membuatnya tampak seolah-olah Anda memiliki perbatasan di seluruh tabel.
Bersulang.
EDIT: Sedikit info lebih lanjut tentang pseudo-class dapat ditemukan di quirksmode , dan, seperti yang diharapkan, Anda cukup banyak SOL dalam hal dukungan IE.
sumber
ini bekerja untuk saya:
lihat contoh ...
diuji dalam FF 3.6 dan Chromium 5.0, IE tidak memiliki dukungan; dari W3C :
sumber
Contoh cara yang sangat sederhana bagi Anda untuk mencapai efek yang diinginkan:
sumber
frame
danrules
adalah atribut LAMA (bukan HTML5)table
(Anda harus menggunakan CSS sebagai gantinya).frame
mengatakan bagian mana dari batas tabel luar yang harus terlihat -void
berarti menyembunyikan semua batas luar ...rules
mengatakan bagian mana dari batas tabel dalam harus terlihat -all
berarti semuanya ... jelas ... Tolong jangan gunakan ini, kecuali jika Anda adalah HTML3 fanatik ... :)Karena mantain kompatibilitas dengan ie7, ie8 saya sarankan menggunakan anak pertama dan bukan anak terakhir untuk melakukan ini:
Anda dapat mempelajari tentang CSS 2.1 Pseudo-class di: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
sumber
Untuk markup tabel biasa, berikut ini solusi singkat yang berfungsi di semua perangkat / browser di BrowserStack, kecuali IE 7 dan di bawah ini:
Untuk dukungan IE 7, tambahkan ini:
Sebuah test case dapat dilihat di sini: http://codepen.io/dalgard/pen/wmcdE
sumber
ini harus bekerja:
edit:
Saya baru saja mencobanya, tidak ada batas meja. tetapi jika saya mengatur batas tabel itu dihilangkan oleh perbatasan-runtuh.
ini adalah testfile:
sumber
itu akan melakukan semuanya tanpa css
<TABLE BORDER=1 RULES=ALL FRAME=VOID>
kode dari: TUTORIAL KODE HTML
sumber
Tambahkan batas ke setiap sel dengan ini:
Hapus batas atas dari semua sel di baris pertama:
Hapus batas kiri dari sel di kolom pertama:
Hapus batas kanan dari sel di kolom terakhir:
Hapus batas bawah dari sel di baris terakhir:
http://jsfiddle.net/hzru0ytx/
sumber
Berfungsi untuk semua kombinasi tbody / thead / tfoot dan td / th
sumber