स्पैन के अंदर स्पान या एंकर के अंदर स्पैन या कोई फर्क नहीं पड़ता?


109

मैं घोंसले spanऔर aटैग करना चाहता हूं । क्या मैं

  1. <span>अंदर डालो<a>
  2. <a>अंदर डालो<span>
  3. इससे कोई फर्क नहीं पड़ता?

जवाबों:


110

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

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

<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
मैं हाल ही में पाठ-अतिप्रवाह: दीर्घवृत्त और अतिप्रवाह के साथ एक श्वेत-स्थान के मुद्दे पर आया था: छिपा हुआ, जिसे मेरे नव-बटन में एक इनलाइन-ब्लॉक तत्व जोड़कर हल किया जा सकता था। मैंने <a> <span> पाठ </ span> </a> से समाप्त किया। इसलिए मुझे लगता है (या आशा है;)) ऐसा करना ठीक है जब आपको वास्तव में ज़रूरत हो।
CunningFatalist

मैं विकल्प 2 के लिए जाऊंगा क्योंकि यह मायने रखता है। एंकर सिर्फ एंकरिंग के लिए होना चाहिए न कि तत्वों (बेस्ट प्रैक्टिस) के लिए। एक स्थिति की कल्पना करें, जहां आप एक क्लिक करने योग्य टाइल बनाते हैं और लंगर टाइल घटक का मूल तत्व है और घटक के अंदर छवियों के लिए लिंक, और अधिक छवियां हैं। Google क्रॉलर पागल हो जाएगा और आखिरकार, यह आपके लिए अच्छा नहीं होगा।
इमाम बक्स

33

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

बस इसे अपने आप को साबित करने के लिए, आप हमेशा इसे W3C MarkUp सत्यापन सेवा के रूप में देख सकते हैं

मैंने सत्यापित करने का प्रयास किया:

<!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>, सुनिश्चित करें कि आप पास कर <a>टैग पहले बंद करने से पहले <span>और इसके विपरीत।


20

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


लेकिन <a> एक ब्लॉक स्तर है और <span> इनलाइन स्तर का तत्व है और ब्लॉक स्तर का तत्व इनलाइन तत्व के अंदर नहीं आ सकता है। मुझे लगता है कि यह w3c सत्यापन में था
जितेन्द्र व्यास

26
नहीं, दोनों इनलाइन हैं
ग्रेग

16

यह इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं।

  • यदि आप एक स्पैन के अंदर एक लिंक चाहते हैं, तो <a>अंदर डालें <span>
  • यदि आप कोई लिंक में कुछ मार्कअप करना चाहते हैं, डाल <span>में<a>

16

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


2

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


सही, वे दोनों इनलाइन तत्व हैं।
क्रिस

2

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

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

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


1

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


0

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


0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.