Baru-baru ini saya berdebat dengan seorang kolega yang mengklaim bahwa <div>
tag harus digunakan di atas <p>
tag saat memformat paragraf.
Kasus terhadap penggunaan <p>
adalah bahwa ia menghasilkan spasi yang tidak teratur di browser dan kemungkinan menjadi usang seperti <b>
tag.
Apakah opini <p>
tag ini dibagikan oleh komunitas?
<b>
(dan<i>
dalam hal ini) jauh dari usang. Periksa spesifikasi HTML5.<strong>
dan<em>
harus selalu digunakan untuk penekanan.<b>
dan<i>
sudah usang dalam hal itu tetapi mereka memiliki penggunaan yang sah, meskipun terbatas, dalam HTML5.Jawaban:
div
danp
untuk tujuan yang sama sekali berbeda.p
adalah untuk paragraf,div
untuk divisi bagian. Satu untuk pemformatan teks, yang lainnya untuk struktur halaman. Secara semantik tidak benar untuk digunakandiv
sebagai penggantip
.Dan alasan penggunaan
b
tidak disarankan adalah karena ini adalah tag presentasi. Itu tidak memiliki makna semantik. Keduanyap
dandiv
memiliki makna semantik yang unik.p
tidak akan pernah usang selama orang masih memformat teks menjadi paragraf.Rekan Anda tampaknya tidak akrab dengan prinsip pemisahan konten dan presentasi . Kalau tidak, dia akan tahu mengapa
b
dibenci dan bahwa masalah presentasi seperti spasi teks harus didefinisikan dalam CSS, bukan HTML Anda.sumber
p { margin: 1em 0 }
membuat seluruh pertanyaan ini bisa diperdebatkan.<b>
memang memiliki makna semantik sekarang: "Elemen b mewakili rentang teks yang perhatiannya diambil untuk tujuan utilitarian tanpa menyampaikan kepentingan ekstra dan tanpa implikasi suara alternatif atau suasana hati, seperti kata-kata kunci dalam abstrak dokumen, nama produk dalam ulasan, kata-kata yang dapat ditindaklanjuti dalam perangkat lunak berbasis teks interaktif, atau lede artikel. " ( sumber )<p>
dan<div>
tidak dimaksudkan untuk tujuan yang sama, karena mereka memiliki makna semantik yang berbeda:<p>
untuk paragraf,<div>
adalah untuk "menawarkan mekanisme umum untuk menambahkan struktur ke dokumen", sebagaimana dinyatakan dalam spesifikasi HTML div dari W3C<p>
mungkin tidak akan ditinggalkan di masa mendatang karena masih ada di XHTML dan HTML 5.Kedua tag memiliki rendering grafis yang berbeda. A
<p>
memiliki margin atas dan bawah 1em, sedangkan a<div>
tidak memiliki margin sama sekali. Tetapi poin ini bersifat sekunder karena dapat ditimpa oleh CSS.Perhatikan juga perbedaan ini: meskipun kedua tag bertipe "blok", hanya
<div>
dapat berisi elemen blok lainnya. Jadi:<p><p> bla </p></p>
salah, sementara<div><div> bla </div></div>
tidak apa-apaPoin penting yang perlu diingat adalah keduanya adalah tag yang valid dan bekas, tetapi tidak untuk tujuan yang sama.
sumber