Ke <p> atau tidak ke <p>?

16

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?

BradB
sumber
5
Hanya untuk menunjukkan, <b>(dan <i>dalam hal ini) jauh dari usang. Periksa spesifikasi HTML5.
DisgruntledGoat
Poin bagus - Saya baru saja memeriksa, saya selalu diperintahkan bahwa <b> dan <i> adalah tag yang disusutkan dan <strong> dan <em> harus digunakan.
BradB
<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.
DisgruntledGoat
Apakah diskusi ini termasuk di sini? Menurut saya ini seharusnya ada pada DOCTYPE
Charles Boyung
@ Charles - ini adalah daerah abu-abu saat ini, karena situs ini masih dalam masa pertumbuhan. Jika Anda merasa kuat, jangan ragu untuk memulai diskusi baru di meta.webmasters.stackexchange.com - atau kirim komentar Anda di sini: meta.webmasters.stackexchange.com/questions/117/…
Mark Henderson

Jawaban:

41

divdan puntuk tujuan yang sama sekali berbeda. padalah untuk paragraf, divuntuk divisi bagian. Satu untuk pemformatan teks, yang lainnya untuk struktur halaman. Secara semantik tidak benar untuk digunakan divsebagai pengganti p.

Dan alasan penggunaan btidak disarankan adalah karena ini adalah tag presentasi. Itu tidak memiliki makna semantik. Keduanya pdan divmemiliki makna semantik yang unik. ptidak 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 bdibenci dan bahwa masalah presentasi seperti spasi teks harus didefinisikan dalam CSS, bukan HTML Anda.

Lèse majesté
sumber
11
+1 Setuju. Hanya untuk menekankan ... "spasi yang tidak teratur di seluruh browser" (meskipun masih bisa diperdebatkan) dapat dikontrol sepenuhnya oleh CSS.
MrWhite
4
Yap ... p { margin: 1em 0 }membuat seluruh pertanyaan ini bisa diperdebatkan.
DisgruntledGoat
7
<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 )
David Murdoch
13

<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-apa

Poin penting yang perlu diingat adalah keduanya adalah tag yang valid dan bekas, tetapi tidak untuk tujuan yang sama.

Matthieu FAURE
sumber