क्या HTML में <a> और <h1> तत्वों को नेस्ट करने का कोई और सही क्रम है?

उदाहरण:

<a href="www.example.com"><h1>Example!</h1></a>

या

<h1><a href="www.example.com">Example!</a></h1>
12
Armand 22 फरवरी 2011, 18:38
3
सामान्य इनलाइन तत्व जैसे एंकर टैग में ब्लॉक स्तर तत्व नहीं होना चाहिए, एचटीएमएल 5 से पहले अमान्य होने के अलावा यह कम से कम मेरी राय में "महसूस" नहीं करता है।
 – 
Shadow Wizard Wearing Mask V2
22 फरवरी 2011, 18:52

3 जवाब

सबसे बढ़िया उत्तर

HTML 4.01 और XHTML 1.1 और पुराने में:

  • एक h1 में एक a हो सकता है
  • एक a में एक h1 नहीं हो सकता है

तो <h1><a>…</a></h1>

एचटीएमएल 5 ड्राफ्ट में:

  • एक h1 में एक a हो सकता है
  • एक a में एक h1 हो सकता है (लेकिन केवल अगर a कहीं है तो h1 की अनुमति है - इस उत्तर पर टिप्पणियां देखें)

तो या तो, लेकिन ब्राउज़र समर्थन भिन्न हो सकता है (जैसे खून बहने पर जीवन)।

25
Quentin 22 फरवरी 2011, 20:25
4
(HTML5) "एक a में एक h1 हो सकता है" यदि a एक ऐसे तत्व के भीतर है जिसमें एक h1 (क्योंकि a का सामग्री मॉडल पारदर्शी है; यह अपने माता-पिता के सामग्री मॉडल को इनहेरिट करता है: w3.org/TR/html5/content-models.html#transparent)
 – 
T.J. Crowder
22 फरवरी 2011, 18:50
@ टी.जे. मुझे लगता है कि यह बिंदु एक सही उत्तर के लिए महत्वपूर्ण है। @ डेविड क्या यह आपको सही लगता है?
 – 
Armand
22 फरवरी 2011, 19:13
3
@ एलिसन: मुझे लगता है कि यह एक महत्वपूर्ण बिंदु है; मैं डेविड के पहले से ही उत्कृष्ट उत्तर को बढ़ा रहा था। मूल रूप से, आप h1 को a के अंदर span (span > a > h1) के अंदर नहीं डाल सकते, क्योंकि span में h1 नहीं हो सकता। . लेकिन उदाहरण के लिए, आप a के अंदर body (body > a > h1) या div (div > a > h1) के अंदर एक h1 डाल सकते हैं, जिस पर मुझे संदेह है। वह जगह है जहां ज्यादातर लोग चाहते हैं।
 – 
T.J. Crowder
22 फरवरी 2011, 19:22

यह सही जवाब है:

<h1><a href="www.example.com">Example!</a></h1>
4
JAiro 22 फरवरी 2011, 18:39
कोई बात नहीं, टिप्पणी के लिए धन्यवाद, फिर कृपया सही उत्तर के साथ प्रश्न को बंद करें :)
 – 
JAiro
22 फरवरी 2011, 21:51
मुझे लगता है कि मुझे अभी डेविड को चुनना है - यह थोड़ा और पूर्ण है
 – 
Armand
23 फरवरी 2011, 13:02

एचटीएमएल4, एक्सएचटीएमएल

<h1><a href="">Text</a></h1>

एचटीएमएल 5

<h1><a href="">Text</a></h1>
<a href=""><h1>Text</h1></a>

यह HTML5 में स्वीकार्य है क्योंकि एंकर टैग को 'ब्लॉक लेवल' बना दिया गया है।

ब्लॉक स्तर और इनलाइन स्तर टैग पर कुछ अच्छी जानकारी http पर पाई जा सकती है: //www.webdesignfromscratch.com/html-css/css-block-and-inline/

2
Scott Brown 22 फरवरी 2011, 18:41
ऐसा लगता है कि @David Dorward / @T.J से कुछ असहमति है। एंकर टैग की स्थिति पर भीड़.
 – 
Armand
22 फरवरी 2011, 19:13
@ एलिसन: मैं यह नहीं कहूंगा कि असहमति है। :-) @Scott: a एक ब्लॉक-स्तरीय तत्व नहीं है।
 – 
T.J. Crowder
22 फरवरी 2011, 19:22
ठीक है, मैं फिर से लिखूंगा। आप ब्लॉक स्तर के तत्वों को a में HTML5 में लपेट सकते हैं जबकि आप HTML4 में नहीं कर सकते हैं
 – 
Scott Brown
22 फरवरी 2011, 19:36
हे, मुझे लगता है कि मैं समझता हूं, लेकिन अब मैं और अधिक भ्रमित हो रहा हूं
 – 
Armand
22 फरवरी 2011, 20:08