Pertanyaan Haruskah Tabel dihindari dalam HTML dengan cara apa pun?


Dianjurkan untuk menggunakan tabel di halaman HTML (sekarang kita memiliki CSS)?

Apa aplikasi tabel? Apa fitur / kemampuan yang dimiliki tabel yang tidak ada dalam CSS?

Pertanyaan-pertanyaan Terkait


31
2017-09-17 12:09


asal


Jawaban:


Tidak, tidak sama sekali. Tetapi gunakan tabel untuk data tabular. Jangan gunakan mereka untuk tata letak umum.

Tetapi jika Anda menampilkan data tabular, seperti hasil atau mungkin bahkan formulir, lanjutkan dan gunakan tabel!


72
2017-09-17 12:10



Saya kira saya tidak mayoritas di sini, tapi saya masih melihat banyak digunakan untuk tabel dalam HTML. Tentu saja, ya, untuk hal-hal seperti formulir, Anda tidak bisa mengalahkan meja. Mencoba untuk menyusun label dan bidang formulir yang menyertainya pasti akan mungkin menggunakan DIV, tetapi apa PITA yang akan, dan mengubah ukuran halaman akan jelek dalam beberapa kasus. Sebuah meja bekerja dengan keajaiban di sini.

Tetapi juga pertimbangkan masalah yang lebih besar. Misalnya, sudahkah Anda mencoba membuat tata letak 3 kolom standar dengan header dan footer hanya menggunakan DIV dan CSS? Sekali lagi, itu sangat mungkin, dan ada sekitar 1000 situs web dengan contoh, tetapi mereka semua cenderung menderita masalah yang sama. Masalah pertama adalah bahwa kolom tidak pernah benar-benar ingin semua menjadi ketinggian yang sama tanpa semacam bantuan javascript. Masalah kedua adalah mengubah tata letak sering merupakan hal yang rumit, karena ini adalah sedikit tindakan balas untuk mendapatkan semuanya "tepat" untuk memulai, sehingga Anda tidak ingin mengacaukannya. Akhirnya, dan ini kembali ke titik terakhir - itu tidak mudah. Anda harus meletakkan semua DIV Anda, kemudian kembali dan membuat CSS ajaib yang memaksa DIV itu ke posisi yang tepat, dan kemudian menghabiskan beberapa jam tweaking sampai benar .... ugh. Dan kemudian melihat HTML tanpa pemirsa benar-benar memberi Anda TIDAK tahu apa halaman tampak seperti karena SEMUA ditafsirkan kembali oleh CSS pada akhirnya.

Sekarang, opsi B. Gunakan tabel. Habiskan sekitar 30 detik untuk mengetik tag <tr> dan <td>, mungkin tidak ada CSS sama sekali, tidak ada javascript 'fixit', dan tahu PERSIS apa yang akan terlihat hanya dengan melihat HTML.

Tentu saja ada argumen untuk dan terhadap tabel, dan purist tampaknya mendukung DIV untuk tata letak, tetapi tidak menggunakan DIV untuk alasan agama hanya karena seseorang mengatakan kepada Anda bahwa tabel itu jahat. Gunakan apa yang terbaik untuk Anda, halaman Anda, dan cara pemirsa Anda berinteraksi dengan halaman. Jika itu meja, maka gunakan itu. Jika tidak, jangan.


68
2017-09-17 12:28



Semua orang sejauh ini mengatakan bagaimana tabel seharusnya hanya digunakan untuk data tabular, dan ini benar. Lihatlah sumber HTML dari setiap halaman di SO dan Anda akan melihat bahwa mereka memiliki ide yang berbeda ...

Saya pikir alasan mereka adalah itu terkadang menggunakan tabel jauh lebih sederhana. Padahal, ada banyak alasan kegunaan yang benar-benar bagus untuk menghindarinya.


12
2017-09-17 12:16



Selain untuk data tabular, tabel sayangnya masih diperlukan jika Anda ingin membuatnya fleksibellayout grid seperti bentuk-bentuk kompleks dengan cara yang kompatibel lintas-browser.

CSS2 memiliki dukungan untuk membuat layout jaringan yang fleksibel tanpa menggunakan table elemen melalui properti tampilan, Tapi ini adalah tidak didukung di IE6 atau IE7.

Namun, untuk tata letak formulir paling dasar, CSS harus memadai.


11
2017-09-17 12:19



Jika hanya ekuivalen CSS yang bijaksana dalam menyiapkan tata letak "seperti tabel", maka saya ingin menggunakan CSS. Saya menemukan waktu yang diperlukan untuk meniru hal-hal yang telah didaftarkan orang lain di sini (ketinggian yang sama pada sel, baris yang tumbuh secara otomatis, dll.) Sama sekali tidak sepadan dengan usaha. Saya tidak mendapatkan laba atas investasi saya dibandingkan dengan cepat melemparkan bersama meja dalam banyak kasus.

Semua browser dapat menyetujui persis bagaimana sebuah tabel harus ditata. Bam. Selesai

Berikut ini bagaimana keanehan CSS saya biasanya pergi: Cobalah mengatur tata letak seperti tabel dalam CSS. Luangkan waktu 20 menit atau lebih untuk mendapatkan semuanya di Mozilla dan kemudian buka di IE. Habiskan 30 menit lagi tweaking antara dua browser tersebut. Berpura-pura seperti hanya ada dua browser di dunia karena saya benar-benar harus menyelesaikan beberapa pekerjaan.

Saya percaya pada janji CSS: Pemisahan kekhawatiran. Masalahnya adalah bagi mereka yang perlu produktif, CSS belum siap untuk prime time. Atau mungkin itu mesin render dari browser - mana saja.


6
2017-09-17 12:38



Manfaat dari CSS adalah bahwa ia memisahkan desain dan tata letak dari konten.

Jika Anda memiliki data tabular maka masuk akal untuk menggunakan <TABLE> menandai. Jika Anda ingin menyusun blok konten yang berbeda maka Anda harus menggunakannya <DIV> atau <SPAN> dan CSS.


4
2017-09-17 12:12



Tabel adalah untuk menghasilkan data tabular. Apa pun yang mungkin Anda tampilkan di spreadsheet, kolom hasil, hal semacam itu.

Saran menggunakan CSS daripada tabel adalah untuk layout kolom, yang sebenarnya bukan tabel sebenarnya. Itu tidak pernah dimaksudkan untuk menyarankan bahwa tabel harus dihapus sepenuhnya.


3
2017-09-17 12:12



Tabel tidak memiliki persamaan dalam CSS2, dan tidak mudah untuk digandakan menggunakan css. Bagian tertentu dari tabel yang sulit untuk mereproduksi adalah ukuran otomatis kolom. Meskipun mudah untuk membiarkan 1 baris tumbuh dengan ukuran yang sama di seluruh halaman, sulit bagi baris berikutnya untuk menyesuaikan ukuran kolom atau setiap ukuran sel secara dinamis, dan pada kenyataannya tidak dapat dilakukan tanpa menggunakan bahasa scripting lainnya seperti javascript, php, atau lainnya. Anda dapat menggunakan lebar maks dan min, serta menetapkan persentase untuk ukuran sel, atau lebar sel kode keras, tetapi sel yang berkembang secara dinamis berfungsi dengan baik untuk 1 baris, ini adalah baris berikutnya di bawahnya yang tidak akan cocok.


3
2017-09-17 12:18



Memindai jawaban ini, saya tidak melihat satu alasan dunia nyata di mana tabel diperlukan untuk tata letak dan itu adalah email html.

Saya bekerja untuk perusahaan keuangan yang sangat, sangat besar dan kami melacak sekitar 600 pekerjaan berbeda setiap bulan .... banyak di antaranya adalah beberapa kampanye email.

Anda tidak dapat menggunakan css untuk tata letak untuk setiap pembaca surat. Ada beberapa spesifikasi css inline yang dapat Anda gunakan yang berhubungan dengan warna, wajah dan ukuran font dan bahkan tinggi garis cukup banyak tersedia tetapi untuk tata letak, Anda harus menggunakan tabel sebagai semua pembaca email utama dan paling kecil (Outlook 97 / 03, Entourage, MSN dll) membacanya baik-baik saja.

Masalah dengan tabel ikut bermain ketika Anda memiliki td yang tidak memiliki tinggi / lebar yang ditentukan apakah mereka berisi data atau tidak. Jadi, layout tabel 'rusak' biasanya diperbaiki dengan memperhatikan atribut dan ya ... spasi di html .... ya spasi putih yang tidak seharusnya penting.

Jadi, jika Anda pernah bekerja untuk perusahaan besar / perusahaan atau Anda mendaratkan klien yang sangat besar, bersiaplah untuk membuang semua teknologi saat ini keluar dari pintu dan dapatkan topi meja html Anda!


3
2018-06-18 19:58



Saya pikir itu semua tergantung pada waktu / usaha. Sementara seorang purist mungkin mengatakan "hanya menggunakan tabel untuk data tabular," Saya telah menggunakan tabel untuk memudahkan layout lintas-browser di masa lalu.

Bagi saya, ini masalah pemanfaatan waktu. Saya dapat menghabiskan waktu dengan menggunakan CSS untuk melakukannya dengan benar atau saya dapat melemparkannya ke meja dan menghabiskan lebih sedikit waktu di atasnya. Saya cenderung mengikuti rute ini sampai semuanya berjalan dan berjalan. Setelah fungsi itu ada, saya kembali dan memoles CSS / HTML.


2
2017-09-17 12:41