Apa itu browser dan dapatkah Anda memberikan potongan kode Anda (html / css)?
Patrick Desjardins
baik saya menggunakan ff3 karena saya tahu bahwa seharusnya mendukung Aturan tapi untuk saat ini saya ingin memperbaikinya di ff3. Saya mencoba spasi dan padding sejauh ini tidak berhasil. productlistingitem adalah tabel utama <table class = "productListingItem" border = "0" cellpadding = "10" cellspacing = "0"> <tr> <tr> <td class = "dragItem">
Marin
1
Mungkin itu karena border-spacingatribut terkait tabledan tidak tr. Coba table.classname {border-spacing:5em}. Note: IE8 mendukung properti penskalaan perbatasan jika! DOCTYPE ditentukan.
Varun Natraaj
Saya menggunakan ketinggian garis ketika tidak ada batas.
Anda perlu menggunakan bantalan pada tdelemen Anda . Sesuatu seperti ini harus melakukan triknya. Anda bisa, tentu saja, mendapatkan hasil yang sama menggunakan bantalan atas bukan bantalan bawah.
Dalam kode CSS di bawah ini, tanda lebih besar berarti bahwa padding hanya diterapkan pada tdelemen yang mengarahkan anak-anak ke trelemen dengan kelas spaceUnder. Ini akan memungkinkan untuk menggunakan tabel bersarang. (Sel C dan D dalam contoh kode.) Saya tidak terlalu yakin tentang dukungan browser untuk pemilih anak langsung (pikirkan IE 6), tetapi seharusnya tidak memecah kode di browser modern.
/* Apply padding to td elements that are direct children of the tr elements with class spaceUnder. */
tr.spaceUnder>td {padding-bottom:1em;}
Kecuali ini tidak menyelesaikan masalah sama sekali ketika baris Anda memiliki warna latar belakang dan Anda benar-benar ingin WHITESPACE di antara baris Anda.
Simon East
6
@Simon: Whitespace biasanya merujuk pada ruang kosong, dan tidak secara khusus warna putih. Jika Anda ingin mewarnai ruang di antara baris, Anda dapat mencoba dengan properti CSS <code> border-bottom </code> pada elemen td. Itu mungkin hanya akan merender dengan benar dengan batas 1px. Solusi lain, tetapi tidak begitu elegan, adalah menggunakan baris kosong.
Jan Aagaard
18
@ Jan: Ya, maksud saya ... Cukup sulit untuk menempatkan ruang kosong yang transparan di antara baris. Solusi Anda membantu dalam beberapa kasus, tetapi tidak menyelesaikan masalah itu. Memasukkan baris tabel kosong mungkin berhasil, tetapi ini sangat buruk. Perangkat bottom-bordertransparan mungkin juga berfungsi, tetapi saya tidak yakin seberapa kompatibel lintas-browser.
Ditambah deklarasi perbatasan, dan lihat apakah ini mencapai efek yang Anda inginkan. Berhati-hatilah, bahwa IE tidak mendukung model "separated borders".
Ya, metode ini akan ideal, kecuali bahwa IE 7 tidak mendukungnya. Untuk dukungan browser, lihat: quirksmode.org/css/tables.html
Simon East
7
Selain itu, ia mengontrol spasi di semua baris dalam tabel, Anda tidak dapat mengatur spasi baris untuk setiap baris (yang mungkin ingin dicapai oleh OP).
Simon East
1
Ini tidak konsisten antara Chrome dan Firefox. Jika Anda memiliki theaddan tbody, itu akan membuat rangkap dua di border-spacingantaranya, di Chrome (tetapi satu di Firefox).
Camilo Martin
91
Ini adalah jawaban yang sebenarnya, secara khusus diatur border-spacing: 0 1emuntuk mendapatkan jarak antar baris saja.
igneosaur
1
@igneosaurus Saya mencoba melakukan apa yang Anda katakan tetapi masih menambahkan jarak antara semua baris dan bukan hanya dua yang pertama. Bisakah Anda memberikan jsfiddle yang berfungsi?
user3281466
184
Anda memiliki tabel dengan album id dengan data apa pun ... Saya telah menghapus trs dan tds
apakah mungkin untuk menerapkan hanya untuk tr di dalam "tbody"?
Jaison
129
karena saya memiliki gambar latar belakang di belakang meja, berpura-pura dengan bantalan putih tidak akan berfungsi. Saya memilih untuk meletakkan baris kosong di antara setiap baris konten:
<trclass="spacer"><td></td></tr>
kemudian gunakan css untuk memberi baris spacer ketinggian tertentu dan latar belakang transparan.
Ini mungkin lebih fleksibel, saya pikir. Anda tidak dapat selalu mengontrol ketika sebelumnya Anda membutuhkan ruang (halaman yang dihasilkan secara dinamis).
Stefan Kendall
10
Ini mengingatkan saya pada tahun 90-an, ketika dukungan CSS hampir tidak ada dan tabel digunakan untuk sebagian besar tata letak. Saya masih memberikannya +1, karena "jawaban" lainnya tidak lebih baik dalam hal benar-benar membuat ruang antar baris tabel.
labirin
@ labirin Tidak banyak yang berubah sejak tahun 90an. Mengenai HTML, semuanya hanya menjadi jauh lebih kuat dan lebih berantakan.
Properti CSS spasi-batas menentukan jarak antara batas sel yang berdekatan (hanya untuk model batas yang terpisah). Ini sama dengan atribut cellspacing dalam HTML presentasi, tetapi nilai opsional kedua dapat digunakan untuk mengatur jarak horizontal dan vertikal yang berbeda.
Bagian terakhir itu sering diawasi. Contoh:
.your-table {
border-collapse: separate;/* allow spacing between cell borders */
border-spacing:05px;/* NOTE: syntax is <horizontal value> <vertical value> */
MEMPERBARUI
Saya sekarang mengerti bahwa OP ingin baris yang spesifik dan terpisah untuk meningkatkan jarak. Saya telah menambahkan pengaturan dengan tbodyelemen yang menyelesaikannya tanpa merusak semantik. Namun, saya tidak yakin apakah itu didukung di semua browser. Saya membuatnya di Chrome.
Contoh di bawah ini adalah untuk menunjukkan bagaimana Anda dapat membuatnya tampak seperti tabel ada baris terpisah, manis penuh sesak nafas. Juga memberi spasi lebih pada baris pertama dengan tbodypengaturan. Jangan ragu untuk menggunakannya!
Pemberitahuan dukungan: IE8 +, Chrome, Firefox, Safari, Opera 4+
Jika saya ingin beberapa ruang antara dua baris tertentu saya hanya menambahkan baris spacer <tr> <td colspan = "2" style = "padding-bottom: 1em;"> </td> </tr>
Paul Taylor
Itu akan bekerja tetapi secara semantik tidak benar (seperti pada, baris pemisah Anda bukan baris aktual dengan data seperti baris lainnya. Ini dapat mengganggu bagi orang yang menggunakan pembaca layar atau perangkat asisten lainnya, serta untuk tujuan pengindeksan dan suka. Ini mungkin tidak membuat perbedaan besar tetapi bagus untuk tetap mengingatnya saat mengembangkan situs web :)
Justus Romijn
Itu benar, jika dia benar-benar menggunakan tabel untuk mewakili tabel. Jika dia hanya menggunakan tabel sebagai cara untuk menampilkan data secara tabular maka saya berpendapat lebih masuk akal untuk menyisipkan baris untuk merepresentasikan kesenjangan antara dua item daripada hanya menambahkan spasi pada salah satu bagian di atas atau di bawah garis karena apa yang ingin dilakukan pengguna adalah menambah ruang antara dua garis, bukan menambah ukuran elemen dalam garis.
Untuk IE, tr tanpa tubuh tidak akan dikenali. tambahkan dummy td tag juga.
Tidur
Masalahnya adalah bahwa dalam HTML5, validator W3C akan memancarkan kesalahan yang mengatakan "Baris tabel adalah lebar 0 kolom, yang kurang dari jumlah kolom yang ditetapkan oleh baris pertama".
David Grayson
Bagus, saya telah menambahkan <tr>, <td> dan <p> lainnya dan mengatur visibilitas p-tag ke hidden .. Juga berfungsi. :-)
Jeppe
47
Anda tidak dapat mengubah margin sel tabel. Tapi Anda BISA mengganti padding. Ubah padding dari TD, yang akan membuat sel lebih besar dan mendorong teks menjauh dari samping dengan padding yang meningkat. Namun, jika Anda memiliki garis perbatasan, tetap tidak akan persis seperti yang Anda inginkan.
<table><tr><td>Some text - 1</td><td>Some text - 1</td></tr><tr><td>Some text - 2</td><td>Some text - 2</td></tr><tr><td>Some text - 3</td><td>Some text - 3</td></tr></table>
Ini menciptakan masalah pelurusan vertikal yang aneh, setidaknya di Firefox
cjohansson
20
Anda perlu mengatur border-collapse: separate;di atas meja; kebanyakan stylesheet default browser dimulai border-collapse: collapse;, yang membuang batas perbatasan.
Juga, penspasian batas: berjalan pada TD, bukan TR.
Terima kasih. Saya berterima kasih kepada Anda dalam perbaikan komentar sebelumnya, tetapi editor yang terlalu bersemangat yang ingin mengubah gaya saya dan memecahkan kode dalam proses juga menghapus ucapan terima kasih saya. Saya sekarang meletakkannya di sini di tempat yang tidak bisa diedit.
John Haugeland
18
Anda dapat menggunakan ketinggian garis dalam tabel:
Itu menakutkan. Apa yang sebenarnya dilakukan adalah mengatur displayproperti blockuntuk baris. Ini memungkinkan baris memiliki margin. Margin vertikal " Berlaku untuk: semua elemen kecuali yang memiliki tipe tampilan tabel selain keterangan tabel, tabel, dan tabel sebaris ". Karena table-rowbukan salah satu dari pengecualian itu, maka itu tidak masuk hitungan. Anda mungkin dapat mencapai efek yang sama dengan melakukan tr {display:block;}Tapi saya akan berhati-hati menggunakan salah satu dari metode ini dalam tabel yang rumit. Kemungkinan tidak akan menghasilkan apa yang Anda harapkan.
sholsinger
Menakutkan, tetapi berhasil. Tidak di ie7, tetapi cellspacing langsung di tabel berfungsi di ie7.
Liko
baris mengambang bukan solusi yang baik .. terutama jika halaman Anda lebih besar dari 2x lebar baris. tambahkan atribut width ke kedua tag
AndreaCi
11
Untuk membuat ilusi jarak antar baris, terapkan warna latar belakang ke baris dan kemudian buat batas tebal dengan warna putih sehingga "ruang" dibuat :)
Anda dapat melakukan ini melalui CSS, yang menurut saya lebih "benar" (selain fakta bahwa itu lebih elegan, memindahkan penataan dari markup ke CSS menghemat bandwidth).
Camilo Martin
2
Itu tidak menghemat bandwidth. Saya sebenarnya menggunakan lebih banyak. Dengan asumsi Anda tidak menambahkan stylesheet hanya untuk ini, Anda perlu menambahkan pemilih dan mungkin id atau nama ke tabel ini. Itu lebih banyak byte tidak kurang.
majinnaibu
9
Saya menemukan ini saat berjuang dengan masalah yang sama. Saya menemukan jawaban Varun Natraaj cukup membantu, tetapi saya akan menggunakan perbatasan transparan sebagai gantinya.
Berfungsi untuk sebagian besar browser terbaru pada tahun 2015. Solusi sederhana. Ini tidak berfungsi untuk transparan, tetapi tidak seperti jawaban Thoronwen, saya tidak bisa transparan untuk membuat ukuran apa pun.
Saya menyadari ini adalah jawaban untuk utas lama dan mungkin bukan solusi yang diminta, tetapi sementara semua solusi yang disarankan tidak melakukan apa yang saya butuhkan, solusi ini bekerja untuk saya.
Saya memiliki 2 sel tabel, satu dengan warna latar belakang, yang lain dengan warna batas. Solusi di atas menghilangkan batas, sehingga sel di sebelah kanan akan tampak mengambang di udara. Solusi yang melakukan triknya adalah mengganti table, trdan tddengan divs dan kelas yang sesuai: tabel akan menjadi div id="table_replacer", tr akan menjadi div class="tr_replacer"dan td akan menjadi div class="td_replacer"(mengubah tag penutup ke divs juga jelas)
Untuk mendapatkan solusi untuk masalah saya, css adalah:
#table_replacer{display:table;}.tr_replacer {border:1px solid #123456;margin-bottom: 5px;}/*DO NOT USE display:table-row! It will destroy the border and the margin*/.td_replacer{display:table-cell;}
Imho, solusi ini setara dengan menggunakan tabel biasa, tr, pola td dan style tr {display: block;} yang saya coba. Masalah: tabel terlihat berbeda, karena elemen td tidak dirender ke lebar tabel, tetapi mengambang ke kiri di dalam tr. Berarti, elemen td dari semua baris tidak lagi disejajarkan secara vertikal.
Andreas Stankewitz
0
Anda dapat mengisi elemen <td /> dengan elemen <div />, dan menerapkan margin apa pun ke div yang Anda suka. Untuk ruang visual di antara baris, Anda dapat menggunakan gambar latar berulang di elemen <tr />. (Ini adalah solusi yang baru saya gunakan hari ini, dan tampaknya berfungsi di IE6 dan FireFox 3, meskipun saya tidak mengujinya lebih lanjut.)
Juga, jika Anda enggan memodifikasi kode server Anda untuk meletakkan <div /> di dalam <td /> s, Anda dapat menggunakan jQuery (atau yang serupa) untuk secara dinamis membungkus konten <td /> dalam <div /> >, memungkinkan Anda untuk menerapkan CSS seperti yang diinginkan.
Inilah solusi sederhana dan elegan, dengan beberapa peringatan:
Anda tidak dapat benar-benar membuat celah transparan, Anda harus memberi mereka warna tertentu.
Anda tidak dapat membulatkan sudut batas di atas & di bawah celah
Anda perlu mengetahui lapisan dan batas sel tabel Anda
Dengan mengingat hal itu, coba ini:
td {padding:5px8px;border:2px solid blue;background:#E0E0E0}/* lets say the cells all have this padding and border, and the gaps should be white */
tr.gapbefore td {overflow:visible}
tr.gapbefore td::before,
tr.gapbefore th::before
{
content:"";
display:block;
position:relative;
z-index:1;
width:auto;
height:0;
padding:0;
margin:-5px-10px5px;/* 5px = cell top padding, 10px = (cell side padding)+(cell side border width)+(table side border width) */
border-top:16px solid white;/* the size & color of the gap you want */
border-bottom:2px solid blue;/* this replaces the cell's top border, so should be the same as that. DOUBLE IT if using border-collapse:separate */}
Apa yang sebenarnya Anda lakukan adalah menempelkan persegi panjang ::before blok bagian atas semua sel di baris yang Anda inginkan diawali dengan celah. Blok ini sedikit keluar dari sel untuk tumpang tindih dengan batas yang ada, menyembunyikannya. Blok-blok ini hanyalah batas atas dan bawah yang diapit bersama: Batas atas membentuk celah, dan batas bawah menciptakan kembali tampilan batas atas asli sel.
Perhatikan bahwa jika Anda memiliki batas di sekeliling tabel itu sendiri dan juga sel, Anda harus lebih meningkatkan margin horizontal -ve dari 'blok' Anda. Jadi untuk batas tabel 4px, Anda sebaiknya menggunakan:
margin:-5px-12px5px;/* 14px = original 10px + 2px for 'uncollapsed' part of table border */
Dan jika tabel Anda menggunakan border-collapse:separatebukan border-collapse:collapse, maka Anda harus (a) menggunakan lebar perbatasan tabel penuh:
margin:-5px-14px5px;/* 14px = original 10px + 4px full width of table border */
... dan juga (b) ganti double-lebar perbatasan yang sekarang perlu muncul di bawah celah:
border-bottom:4px solid blue;/* i.e. 4px = cell top border + previous row's bottom border */
Teknik ini mudah disesuaikan dengan versi .gapafter, jika Anda suka, atau untuk membuat celah vertikal (kolom) alih-alih celah baris.
Apakah ini berhasil? Saya punya div.el { display: table-row; margin: 10px; }, dan margin tidak melakukan apa pun. Saya tahu ini sedikit berbeda dari meja sebenarnya, tetapi seharusnya tidak ...
border-spacing
atribut terkaittable
dan tidaktr
. Cobatable.classname {border-spacing:5em}
.Note
: IE8 mendukung properti penskalaan perbatasan jika! DOCTYPE ditentukan.Jawaban:
Anda perlu menggunakan bantalan pada
td
elemen Anda . Sesuatu seperti ini harus melakukan triknya. Anda bisa, tentu saja, mendapatkan hasil yang sama menggunakan bantalan atas bukan bantalan bawah.Dalam kode CSS di bawah ini, tanda lebih besar berarti bahwa padding hanya diterapkan pada
td
elemen yang mengarahkan anak-anak ketr
elemen dengan kelasspaceUnder
. Ini akan memungkinkan untuk menggunakan tabel bersarang. (Sel C dan D dalam contoh kode.) Saya tidak terlalu yakin tentang dukungan browser untuk pemilih anak langsung (pikirkan IE 6), tetapi seharusnya tidak memecah kode di browser modern.Ini seharusnya membuat agak seperti ini:
sumber
bottom-border
transparan mungkin juga berfungsi, tetapi saya tidak yakin seberapa kompatibel lintas-browser.Di tabel induk, coba pengaturan
Ditambah deklarasi perbatasan, dan lihat apakah ini mencapai efek yang Anda inginkan. Berhati-hatilah, bahwa IE tidak mendukung model "separated borders".
sumber
thead
dantbody
, itu akan membuat rangkap dua diborder-spacing
antaranya, di Chrome (tetapi satu di Firefox).border-spacing: 0 1em
untuk mendapatkan jarak antar baris saja.Anda memiliki tabel dengan album id dengan data apa pun ... Saya telah menghapus trs dan tds
Di css:
sumber
cellspacing
atribut <table> adalah tidak didukung di HTML5.karena saya memiliki gambar latar belakang di belakang meja, berpura-pura dengan bantalan putih tidak akan berfungsi. Saya memilih untuk meletakkan baris kosong di antara setiap baris konten:
kemudian gunakan css untuk memberi baris spacer ketinggian tertentu dan latar belakang transparan.
sumber
Dari Jaringan Pengembang Mozilla :
Bagian terakhir itu sering diawasi. Contoh:
MEMPERBARUI
Saya sekarang mengerti bahwa OP ingin baris yang spesifik dan terpisah untuk meningkatkan jarak. Saya telah menambahkan pengaturan dengan
tbody
elemen yang menyelesaikannya tanpa merusak semantik. Namun, saya tidak yakin apakah itu didukung di semua browser. Saya membuatnya di Chrome.Contoh di bawah ini adalah untuk menunjukkan bagaimana Anda dapat membuatnya tampak seperti tabel ada baris terpisah, manis penuh sesak nafas. Juga memberi spasi lebih pada baris pertama dengan
tbody
pengaturan. Jangan ragu untuk menggunakannya!Pemberitahuan dukungan: IE8 +, Chrome, Firefox, Safari, Opera 4+
sumber
Anda dapat mencoba menambahkan baris pemisah:
html:
css:
sumber
Anda tidak dapat mengubah margin sel tabel. Tapi Anda BISA mengganti padding. Ubah padding dari TD, yang akan membuat sel lebih besar dan mendorong teks menjauh dari samping dengan padding yang meningkat. Namun, jika Anda memiliki garis perbatasan, tetap tidak akan persis seperti yang Anda inginkan.
sumber
border-bottom
danpadding-bottom
artinya perbatasan akan berada di bawah padding.Lihatlah border-collapse: atribut terpisah (default) dan spasi-perbatasan properti .
Pertama, Anda harus memisahkannya dengan border-collapse , lalu Anda dapat mendefinisikan ruang antara kolom dan baris dengan spasi-perbatasan .
Kedua properti CSS ini sebenarnya didukung dengan baik di setiap browser, lihat di sini .
sumber
Ok, bisa kamu lakukan
Pastikan warna latar diatur pada td daripada baris. Ini harus berfungsi di sebagian besar browser ... (Chrome, mis. & Jika diuji)
sumber
Anda perlu mengatur
border-collapse: separate;
di atas meja; kebanyakan stylesheet default browser dimulaiborder-collapse: collapse;
, yang membuang batas perbatasan.Juga, penspasian batas: berjalan pada
TD
, bukanTR
.Mencoba:
sumber
Anda dapat menggunakan ketinggian garis dalam tabel:
sumber
sumber
Jawaban yang terlambat :)
Jika Anda menerapkan float ke
tr
elemen, Anda bisa memberi spasi di antara dua baris denganmargin
atribut.sumber
display
propertiblock
untuk baris. Ini memungkinkan baris memiliki margin. Margin vertikal " Berlaku untuk: semua elemen kecuali yang memiliki tipe tampilan tabel selain keterangan tabel, tabel, dan tabel sebaris ". Karenatable-row
bukan salah satu dari pengecualian itu, maka itu tidak masuk hitungan. Anda mungkin dapat mencapai efek yang sama dengan melakukantr {display:block;}
Tapi saya akan berhati-hati menggunakan salah satu dari metode ini dalam tabel yang rumit. Kemungkinan tidak akan menghasilkan apa yang Anda harapkan.Untuk membuat ilusi jarak antar baris, terapkan warna latar belakang ke baris dan kemudian buat batas tebal dengan warna putih sehingga "ruang" dibuat :)
sumber
Cara yang benar untuk memberikan spasi untuk tabel adalah dengan menggunakan cellpadding dan cellspacing misalnya
sumber
Saya menemukan ini saat berjuang dengan masalah yang sama. Saya menemukan jawaban Varun Natraaj cukup membantu, tetapi saya akan menggunakan perbatasan transparan sebagai gantinya.
Batas transparan masih memiliki lebar.
sumber
Berfungsi untuk sebagian besar browser terbaru pada tahun 2015. Solusi sederhana. Ini tidak berfungsi untuk transparan, tetapi tidak seperti jawaban Thoronwen, saya tidak bisa transparan untuk membuat ukuran apa pun.
sumber
Cukup letakkan
div
di dalamtd
dan atur gaya berikutdiv
:sumber
Saya menyadari ini adalah jawaban untuk utas lama dan mungkin bukan solusi yang diminta, tetapi sementara semua solusi yang disarankan tidak melakukan apa yang saya butuhkan, solusi ini bekerja untuk saya.
Saya memiliki 2 sel tabel, satu dengan warna latar belakang, yang lain dengan warna batas. Solusi di atas menghilangkan batas, sehingga sel di sebelah kanan akan tampak mengambang di udara. Solusi yang melakukan triknya adalah mengganti
table
,tr
dantd
dengan divs dan kelas yang sesuai: tabel akan menjadidiv id="table_replacer"
, tr akan menjadidiv class="tr_replacer"
dan td akan menjadidiv class="td_replacer"
(mengubah tag penutup ke divs juga jelas)Untuk mendapatkan solusi untuk masalah saya, css adalah:
Semoga ini bisa membantu seseorang.
sumber
Anda dapat mengisi elemen <td /> dengan elemen <div />, dan menerapkan margin apa pun ke div yang Anda suka. Untuk ruang visual di antara baris, Anda dapat menggunakan gambar latar berulang di elemen <tr />. (Ini adalah solusi yang baru saya gunakan hari ini, dan tampaknya berfungsi di IE6 dan FireFox 3, meskipun saya tidak mengujinya lebih lanjut.)
Juga, jika Anda enggan memodifikasi kode server Anda untuk meletakkan <div /> di dalam <td /> s, Anda dapat menggunakan jQuery (atau yang serupa) untuk secara dinamis membungkus konten <td /> dalam <div /> >, memungkinkan Anda untuk menerapkan CSS seperti yang diinginkan.
sumber
Atau cukup tambahkan kosong dengan ketinggian margin di antara baris yang ingin Anda tambahkan spasi
sumber
Inilah solusi sederhana dan elegan, dengan beberapa peringatan:
Dengan mengingat hal itu, coba ini:
Apa yang sebenarnya Anda lakukan adalah menempelkan persegi panjang
::before
blok bagian atas semua sel di baris yang Anda inginkan diawali dengan celah. Blok ini sedikit keluar dari sel untuk tumpang tindih dengan batas yang ada, menyembunyikannya. Blok-blok ini hanyalah batas atas dan bawah yang diapit bersama: Batas atas membentuk celah, dan batas bawah menciptakan kembali tampilan batas atas asli sel.Perhatikan bahwa jika Anda memiliki batas di sekeliling tabel itu sendiri dan juga sel, Anda harus lebih meningkatkan margin horizontal -ve dari 'blok' Anda. Jadi untuk batas tabel 4px, Anda sebaiknya menggunakan:
Dan jika tabel Anda menggunakan
border-collapse:separate
bukanborder-collapse:collapse
, maka Anda harus (a) menggunakan lebar perbatasan tabel penuh:... dan juga (b) ganti double-lebar perbatasan yang sekarang perlu muncul di bawah celah:
Teknik ini mudah disesuaikan dengan versi .gapafter, jika Anda suka, atau untuk membuat celah vertikal (kolom) alih-alih celah baris.
Berikut adalah codepen tempat Anda dapat melihatnya dalam aksi: https://codepen.io/anon/pen/agqPpW
sumber
Ini berfungsi dengan baik:
Saya kira Anda bisa bekerja di tata letak yang lebih halus dengan menentukan td yang jika perlu.
sumber
melakukan ini ditunjukkan di atas ...
menghapus penyelarasan kolom vertikal jadi berhati-hatilah bagaimana Anda menggunakannya
sumber
Sudahkah Anda mencoba:
Atau, masing-masing td dapat disesuaikan juga:
atau
sumber
div.el { display: table-row; margin: 10px; }
, dan margin tidak melakukan apa pun. Saya tahu ini sedikit berbeda dari meja sebenarnya, tetapi seharusnya tidak ...