Saya mencoba membangun tata letak di HTML5 dan setelah membaca beberapa artikel berbeda, saya hanya bingung. Saya mencoba untuk mendapatkan beberapa masukan tentang bagaimana itu harus digunakan.
Di bawah ini adalah variasi yang saya bolak-balik:
1)
<section id="content">
<h1>Heading</h1>
<div id="primary">
Some text goes here...
</div>
</section>
Dapatkah Anda menggunakan tag bagian untuk bertindak seperti wadah?
2)
<div id="content">
<h1>Heading</h1>
<section id="primary">
<article>
<h2>Post Title</h2>
<p>Some text goes here...</p>
</article>
</section>
<section id="primary">
<article>
<h2>Post Title</h2>
<p>Some text goes here...</p>
</article>
</section>
</div>
Apa metode yang benar untuk menggunakan <section>
tag?
<section>
ini adalah tag semantik dan bukan pembungkus umum seperti<div>
.Jawaban:
Jawabannya ada di spesifikasi saat ini:
Referensi:
Lihat juga:
Sepertinya ada banyak kebingungan tentang tujuan elemen ini, tetapi satu hal yang disepakati adalah bahwa ini bukan pembungkus umum, seperti
<div>
adanya. Ini harus digunakan untuk tujuan semantik, dan bukan pengait CSS atau JavaScript (meskipun tentunya dapat diberi gaya atau "dituliskan").Contoh yang lebih baik, dari pemahaman saya, mungkin terlihat seperti ini:
Perhatikan bahwa
<div>
, karena sepenuhnya non-semantik, dapat digunakan di mana saja dalam dokumen yang diizinkan oleh spesifikasi HTML, tetapi tidak diperlukan.sumber
Di halaman wiki W3 tentang penataan HTML5 , dikatakan:
Dan kemudian menampilkan gambar yang saya bersihkan:
Penting juga untuk mengetahui cara menggunakan
<article>
tag (dari tautan W3 yang sama di atas):sumber
<main>
tag satu per dokumen daripada<section id="main"
?<main>
akan ideal.Pemahaman saya adalah bahwa BAGIAN memegang bagian dengan judul yang merupakan bagian penting dari "aliran" halaman (bukan samping). BAGIAN akan menjadi bab, bagian dokumen yang dinomori, dan seterusnya.
ARTICLE adalah untuk konten bersindikasi - mis. Posting, berita, dll. ARTICLE dan SECTION benar-benar terpisah - Anda dapat memiliki satu tanpa yang lain karena kasus penggunaannya sangat berbeda.
Hal lain tentang SECTION adalah Anda tidak boleh menggunakannya jika halaman Anda hanya memiliki satu bagian. Selain itu, setiap bagian harus memiliki judul (H1-6, HGROUP, HEADING). Judul "dibatasi" dengan BAGIAN, jadi misalnya jika Anda menggunakan H1 di halaman utama (di luar BAGIAN) dan kemudian H1 di dalam bagian, yang terakhir akan diperlakukan sebagai H2.
Contoh dalam spesifikasi cukup bagus pada saat penulisan.
Jadi dalam contoh pertama Anda akan benar jika Anda memiliki beberapa bagian konten yang tidak dapat dijelaskan sebagai ARTICLE. (Dengan titik kecil bahwa Anda tidak memerlukan #primer DIV kecuali Anda menginginkannya untuk pengait gaya - tag P akan lebih baik).
Contoh kedua akan benar jika Anda menghapus semua tag SECTION - data dalam dokumen itu adalah artikel, posting atau sesuatu seperti ini.
SECTION tidak boleh digunakan sebagai wadah - DIV masih digunakan dengan benar untuk itu, dan kotak kustom lainnya yang mungkin Anda buat.
sumber
Anda pasti dapat menggunakan tag bagian sebagai wadah. Itu ada untuk mengelompokkan konten dengan cara yang lebih signifikan secara semantik daripada dengan div atau seperti yang dikatakan spesifikasi html5:
sumber
Metode yang benar adalah # 2. Anda menggunakan tag bagian untuk menentukan bagian dari dokumen Anda. Dari spesifikasi http://www.w3.org/TR/html5/sections.html :
sumber
<article>
), tetapi tidak mungkin untuk benar-benar membedakannya hanya dengan teks tiruan sebagai contoh, dan dua bagian denganid
"utama" ...itu salah: bukan pembungkus. Elemen tersebut menunjukkan bagian semantik dari konten Anda untuk membantu membuat kerangka dokumen. Ini harus berisi sebuah heading. Jika Anda mencari elemen pembungkus halaman (untuk rasa HTML atau XHTML), pertimbangkan untuk menerapkan gaya langsung ke elemen seperti yang dijelaskan oleh Kroc Camen. Jika Anda masih membutuhkan elemen tambahan untuk penataan, gunakan. Seperti yang dijelaskan Dr Mike, div tidak mati, dan jika tidak ada yang lebih sesuai, mungkin di situlah Anda benar-benar ingin menerapkan CSS Anda.
Anda dapat memeriksa ini: http://html5doctor.com/avoiding-common-html5-mistakes/
sumber