Ol / ul अंदर होना चाहिए <p> या बाहर?


292

इन दोनों के बीच मानक अनुपालन कौन सा है?

<p>Text text text ...
    <ol>
        <li>First element</li>
    </ol>
</p>
<p>
    Other text text ...
</p>

या

<p>
    Text text text ...
</p>
<ol>
    <li>First element</li>
</ol>
<p>
    Other text text ...
</p>

40
@ कोड: क्या संदर्भ मायने रखता है?
गतिशील

जवाबों:


422

संक्षिप्त उत्तर यह है कि olतत्वों को कानूनी रूप से pतत्वों के अंदर अनुमति नहीं है ।

यह देखने के लिए, चलो कल्पना पर जाएं ! यदि आप HTML कल्पना के साथ सहज हो सकते हैं, तो यह आपके कई सवालों और जिज्ञासाओं का जवाब देगा। आप जानना चाहते हैं कि क्या कोई olअंदर रह सकता है p? इसलिए…

4.5.1 pतत्व :

श्रेणियाँ: प्रवाह सामग्री , Palpable सामग्री
कंटेंट मॉडल: फ़्रेसिंग सामग्री


4.5.5 olतत्व :

श्रेणियाँ: प्रवाह सामग्री
सामग्री मॉडल : शून्य या अधिक ली और स्क्रिप्ट-सहायक तत्व।

पहले भाग में कहा गया है कि pतत्वों में केवल मुख्य सामग्री हो सकती है (जो "इनलाइन" जैसे तत्व हैं spanऔर strong)।

दूसरे भाग का कहना है olरों हैं प्रवाह सामग्री (जैसे "ब्लॉक" तत्वों pऔर div)। तो वे एक के अंदर इस्तेमाल नहीं किया जा सकता है p


olएस और अन्य flow contentका उपयोग कुछ अन्य तत्वों में किया जा सकता है जैसे div:

4.5.13 divतत्व :

श्रेणियाँ: प्रवाह सामग्री , Palpable सामग्री
सामग्री मॉडल: सामग्री प्रवाह


9
@link: हाँ, w3.org एक टैड बिट तकनीकी है। फिर भी, इसमें कोई संदेह नहीं है कि आपने कब और क्या सही समझा है।
nyson

5
मुझे लगता है कि @ एसआईडी की व्याख्या करने और इसकी कुछ शर्तें निश्चित रूप से सहायक हैं। अगर वह थोड़ा और आगे बढ़ता तो यह बहुत अच्छा जवाब होता। वह भी स्पष्ट रूप से सवाल का जवाब दे सकता है :)। मैंने उसके लिए एक संपादन जोड़ा।
studgeek

1
पढ़ने के लिए भयानक? ऐसा मत सोचो, 4.4.1 The p elementलेखक के पास जाओ , यहाँ तक fantastic sentencesकि कुछ के बारे में भी बात करो
Jaime Hablutzel

1
@dynamic मैं हमेशा MDN के HTML संदर्भ में आसानी से प्रलेखन पढ़ने के लिए जाता हूं ।
बौंक

1
@AaronLS की तरह! जब कोई ब्राउज़र आपको HTML देता है (जैसे कि डेवलपर टूल, या उससे .innerHTML), तो यह तत्व ट्री से री-जेनरेट किया जा रहा है। इसलिए, Chrome HTML को इतना समायोजित नहीं कर रहा है, जितना कि मूल HTML से एक वैध पेड़ बनाना, फिर उस पेड़ से नया HTML बनाना।
s4y

40

द्वितीय। पहला अमान्य है।

  • एक पैराग्राफ़ में सूची नहीं हो सकती।
  • एक सूची में एक अनुच्छेद नहीं हो सकता है जब तक कि वह पैराग्राफ पूरी तरह से एक सूची सूची में शामिल न हो।

एक ब्राउज़र इसे ऐसे ही संभाल लेगा:

<p>tetxtextextete 
<!-- Start of paragraph -->
<ol>
<!-- Start of ordered list. Paragraphs cannot contain lists. Insert </p> -->
<li>first element</li></ol>
<!-- A list item element. End of list -->
</p>
<!-- End of paragraph, but not inside paragraph, discard this tag to recover from the error -->
<p>other textetxet</p>
<!-- Another paragraph -->


7

वास्तव में आपको केवल इन-लाइन तत्वों को अंदर रखना चाहिए p, इसलिए आपके मामले olमें बाहर बेहतर है


2
यह @David Dorward के उत्तर के समान उत्तर है, जो आपको पसंद नहीं आया।
सियाजॉयज

5
<p>tetxetextex</p>
<ol><li>first element</li></ol>
<p>other textetxeettx</p>

क्योंकि दोनों तत्व <p>और <ol>ब्लॉक के रूप में प्रदान किए गए तत्व हैं।

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