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

ahmed
sumber

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.

Darko Z
sumber
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
48

HTML5 memperbarui subjek ini: sekarang OK untuk membungkus elemen tingkat blok dengan A, seperti yang dinyatakan di bawah pertanyaan lain: https://stackoverflow.com/a/9782054/674965 dan di sini: http://davidwalsh.name/html5- elemen-tautan

f055
sumber
8
Jawaban ini sekarang jauh lebih relevan daripada jawaban yang diterima
Josh Davenport
@JoshDavenport Jawaban diterima telah diperbarui untuk mencerminkan bahwa
dan-klasson
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/

Perbuatan Kip
sumber
2

a > h1 akan menyebabkan kesulitan dalam memilih teks

Masalah Pemilihan Teks

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

Abhishek Chaudhary
sumber