2009-11-19 19 views

उत्तर

16

इससे कोई फर्क नहीं पड़ता - वे दोनों एक-दूसरे के अंदर अनुमति देते हैं।

16

जो कि आप मार्कअप करना चाहते हैं उस पर निर्भर करता है।

  • यदि आप एक अवधि के अंदर एक लिंक चाहते हैं, <span> अंदर <a> डाल दिया।
  • यदि आपने लिंक में कुछ मार्कअप करना चाहते हैं, <a>
+2

हैं 'यदि आप एक अवधि के अंदर एक लिंक चाहते हैं, तो एक अवधि के अंदर एक लिंक डालें।' - आप, महोदय, एक प्रतिभाशाली हैं! मेरे द्वारा +1! – katzenhut

2

यह क्या अवधि के लिए है पर निर्भर करता है में <span> डाल दिया। यदि यह लिंक के पाठ को संदर्भित करता है, और यह तथ्य नहीं कि यह एक लिंक है, तो # 1 चुनें। यदि अवधि संपूर्ण रूप से लिंक को संदर्भित करती है, तो # 2 चुनें। जब तक आप स्पैन का प्रतिनिधित्व नहीं करते हैं, तब तक इसका उत्तर अधिक नहीं है। वे इनलाइन तत्व दोनों हैं, किसी भी क्रम में वाक्यबद्ध रूप से घोंसला जा सकता है।

+0

सही, वे दोनों इनलाइन तत्व हैं। – Chris

0

यह दोनों काम करेगा, लेकिन व्यक्तिगत रूप से मैं विकल्प 2 पसंद करूंगा ताकि अवधि "आसपास" लिंक हो।

97

3 - इससे कोई फर्क नहीं पड़ता।

लेकिन, मैं केवल एक <a> अंदर एक <span> का उपयोग करते हैं, तो यह केवल एक हिस्सा टैग की सामग्री के के लिए यानी

<a href="#">some <span class="red">text</span></a> 

बजाय है:

<a href="#"><span class="red">some text</span></a> 

कौन सा चाहिए जाहिर है बस:

<a href="#" class="red">some text</a> 
+1

मैं हाल ही में टेक्स्ट-ओवरफ्लो के साथ एक श्वेत-स्थान मुद्दे पर आया: इलिप्सिस और ओवरफ़्लो: छुपा हुआ, जिसे मेरे एनएवी बटन में इनलाइन-ब्लॉक तत्व जोड़कर हल किया जा सकता है। मैं पाठ के साथ समाप्त हुआ। तो मुझे लगता है (या आशा है;)) जब आपको वास्तव में आवश्यकता होती है तो ऐसा करना ठीक है। –

30

<span> के अंदर <a> या <a> के अंदर या तो <span> घोंसला करने के लिए यह पूरी तरह से मान्य है (कम से कम HTML 4.01 और XHTML 1.0 मानकों द्वारा)।

बस अपने आप को यह साबित करने के, आप हमेशा यह बाहर की जाँच कर सकते हैं एक W3C MarkUp Validation Service

मैं मान्य की कोशिश की:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    <html> 
    <head> 
     <title>Title</title> 
    </head> 
    <body> 
     <p> 
     <a href="http://www.google.com/"><span>Google</span></a> 
     </p> 
    </body> 
    </html> 

और यह भी ऊपर के रूप में ही है, लेकिन साथ <a><span>

अंदर

यानी

<span><a href="http://www.google.com">Google</a></span> 

एचटीएमएल 4.01 और एक्सएचटीएमएल 1.0 दोनों डॉक्टरों के साथ, और दोनों सफलतापूर्वक सत्यापन पारित कर दिया!

यह सुनिश्चित करने के लिए केवल एक चीज है कि आप सही क्रम में टैग बंद करें। तो यदि आप <span> के साथ शुरू करते हैं तो <a>, सुनिश्चित करें कि <span> और इसके विपरीत बंद करने से पहले आप <a> टैग को बंद करें।

0

अर्थात् मुझे लगता है कि एक तत्व के लिए एक कंटेनर के रूप में अधिक समझ में आता है और यदि आपको उन्हें घोंसला करने की आवश्यकता है तो यह बताता है कि तत्व से अधिक बाहरी के अंदर होगा।

15

स्पैन GENERIC इनलाइन कंटेनर है। इससे कोई फर्क नहीं पड़ता कि aspan या spana के अंदर है क्योंकि दोनों इनलाइन तत्व हैं। जो भी आपको तर्कसंगत रूप से सही लगता है उसे करने के लिए स्वतंत्र महसूस करें।

1

व्यक्तिगत रूप से, एक वेब डेवलपर के रूप में, मैंने केवल एक एंकर टैग के भीतर एक अवधि डाली है यदि मैं लिंक अनुभाग के एक अनुभाग को हाइलाइट करने की कोशिश कर रहा हूं, जैसे कि एक सेक्शन में पृष्ठभूमि लागू करना।

1

इससे कोई फर्क नहीं पड़ता कि उदाहरण के लिए आप कुछ प्रकार के आइकन फ़ॉन्ट का उपयोग कर रहे हैं। मैं इस के साथ अभी-अभी था:

<span class="fa fa-print fa-3x"><a href="some_link"></a></span> 

आम तौर पर मैं एक के अंदर अवधि रखा लेकिन स्टाइल से लागू होने वाली नहीं किया गया था जब तक यह दौर बदली।

संबंधित मुद्दे