Bagaimana cara menggabungkan tautan (tag <a>) dan judul (tag <h1>) dalam standar web?


95

Apa kode yang benar untuk membuat link dengan heading 1 menurut standar web?

Apakah itu

<h1><a href="http://stackoverflow.com"> stackoverflow </a></h1>

atau

<a href="http://stackoverflow.com"><h1> stackoverflow </h1></a>

Terima kasih

Jawaban:


143

Menurut standar web, Anda tidak diizinkan untuk memasukkan elemen blok ke dalam elemen sebaris.

Seperti h1elemen blok dan aelemen sebaris, cara yang benar adalah:

<h1><a href="#">This is a title</a></h1>

Berikut ini tautannya agar Anda dapat mempelajari lebih lanjut: w3 Model pemformatan visual

Namun, ada pengecualian bahwa di HTML5 adalah valid untuk membungkus elemen tingkat blok (seperti div, patau h*) dalam tag jangkar. Membungkus elemen tingkat blok dalam elemen sebaris selain jangkar masih bertentangan dengan standar.


19
Di HTLM5 ini telah berubah. Kedua contoh akan memvalidasi - validator.w3.org .
Atadj

bagus. Ini kesalahan yang mudah dibuat, dan sementara keduanya akan memvalidasi logikanya bahwa elemen sebaris secara alami harus merupakan turunan dari elemen level blok.
bigmadwolf

@ Pushplaybang - Saya akan mengatakan lebih semantik untuk membungkus header dalam sebuah tautan kecuali hanya sebagian dari header yang seharusnya dapat diklik (saya tidak dapat memikirkan kasus penggunaan untuk itu). Terlepas dari itu, ada baiknya keduanya didukung dalam html5.
aaaaaa


2

Sejauh yang saya mengerti HTML5 memungkinkan Anda untuk membungkus elemen tingkat blok dalam tag tautan. Namun, bug mungkin muncul di browser lama. Saya mengalami ini dengan Firefox 3.6.18 dan memasukkan moz-rs-heading = "" ke dalam kode saya. Jadi gaya saya rusak. Jika Anda peduli tentang penyelesaiannya, Anda kemudian dapat menggabungkan tag tautan dalam divs. Berikut ini adalah penjelasan yang lebih baik tentang mengapa kode tambahan berfungsi http://oli.jp/2009/html5-block-level-links/


2

a > h1 akan menyebabkan kesulitan dalam memilih teks

Masalah Pemilihan Teks

Karena keduanya benar-benar valid dalam HTML5, lebih baik digunakan h1 > a

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.