Dalam pengembangan web modern saya lebih sering menemukan pola ini. Ini terlihat seperti ini:
<div class="table">
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</div>
Dan di CSS ada sesuatu seperti:
.table { display: table; }
.row { display: table-row; }
.cell { display: table-cell; }
* (Nama kelas hanya ilustratif; dalam kehidupan nyata itu adalah nama-nama kelas normal yang mencerminkan tentang elemen itu)
Saya bahkan baru-baru ini mencoba melakukan ini sendiri karena ... Anda tahu, semua orang melakukannya.
Tapi saya masih belum mengerti. Kenapa kita melakukan ini? Jika Anda membutuhkan meja, maka buatlah blasted <table>
dan selesaikan saja. Ya, bahkan jika itu untuk tata letak. Itulah gunanya meja - menata barang dengan cara tabular.
Penjelasan terbaik yang saya miliki adalah bahwa sekarang semua orang telah mendengar mantra "jangan gunakan tabel untuk tata letak", sehingga mereka mengikutinya secara membabi buta. Tetapi mereka masih membutuhkan tabel untuk tata letak (karena tidak ada lagi yang memiliki kemampuan memperluas tabel), sehingga mereka membuat <div>
(karena bukan tabel!) Dan kemudian menambahkan CSS yang membuatnya menjadi tabel.
Bagi seluruh dunia, bagi saya ini seperti menempatkan hambatan yang tidak perlu yang sewenang-wenang di jalan Anda dan kemudian melakukan pekerjaan ekstra untuk menghindarinya.
Argumen asli untuk pindah dari tabel untuk tata letak adalah sulit untuk memodifikasi tata letak tabel setelahnya. Tetapi memodifikasi tata letak "tabel palsu" sama sulitnya, dan untuk alasan yang sama. Bahkan, dalam praktiknya memodifikasi tata letak selalu sulit, dan hampir tidak pernah cukup untuk hanya mengubah CSS, jika Anda ingin melakukan sesuatu yang lebih serius daripada perubahan kecil. Anda akan perlu memahami dan mengubah struktur HTML untuk perubahan desain yang serius. Dan tabel tidak membuat pekerjaan lebih sulit atau lebih mudah daripada div.
Bahkan, satu-satunya cara saya melihat bahwa tabel dapat membuat tata letak sulit untuk dimodifikasi, adalah jika Anda ab menggunakannya dan menciptakan kekacauan yang tidak baik. Anda dapat melakukannya dengan div juga.
Jadi ... dalam upaya untuk mengubah ini dari kata-kata kasar menjadi pertanyaan yang masuk akal: apa yang saya lewatkan? Apa manfaat sebenarnya dari menggunakan "tabel palsu" di atas yang asli?
Tentang tautan duplikat: Ini bukan saran untuk menggunakan tag lain atau sesuatu. Ini adalah pertanyaan tentang menggunakan <table>
vs display:table
.
table-layout:fixed
, ia harus memuat seluruhnya sebelum dapat ditampilkan. Dengan broadband modern, efek ini tidak terlalu terlihat.