Web standartlarına göre başlık 1 ile bağlantı oluşturmak için doğru kod nedir?
bu mu
<h1><a href="http://stackoverflow.com"> stackoverflow </a></h1>
veya
<a href="http://stackoverflow.com"><h1> stackoverflow </h1></a>
Teşekkürler
Yanıtlar:
Web standartlarına göre, blok öğelerini satır içi öğelere koymanıza izin verilmez.
Olarak h1
bir blok elemanıdır ve a
doğru bir şekilde bir satır içi elemandır:
<h1><a href="#">This is a title</a></h1>
İşte daha fazlasını öğrenebilmeniz için bir bağlantı: w3 Görsel biçimlendirme modeli
Ancak HTML5'teki o (gibi blok seviyesindeki elemanları sarmak için geçerli olduğunu bir istisna vardır div
, p
ya h*
bağlantı etiketlerine). Çapalar dışındaki satır içi öğelerde blok düzeyindeki öğelerin sarılması yine de standartlara aykırıdır.
HTML5 bu konuyu güncelliyor: artık başka bir soru altında belirtildiği gibi, blok düzeyindeki öğeleri A ile sarmada sorun yok: https://stackoverflow.com/a/9782054/674965 ve burada: http://davidwalsh.name/html5- eleman bağlantıları
Anladığım kadarıyla HTML5, blok düzeyindeki öğeleri bağlantı etiketlerine sarmanıza izin veriyor. Ancak eski tarayıcılarda hatalar görünebilir. Bununla Firefox 3.6.18 ile karşılaştım ve koduma moz-rs-heading = "" ekledim. Böylece stillerim kırıldı. Çevrenizdeki bir işi önemsiyorsanız, bağlantı etiketlerini div'lere sarabilirsiniz. Aşağıda, ek kodun neden çalıştığına dair daha iyi bir açıklama sağlanmaktadır http://oli.jp/2009/html5-block-level-links/