<अनुभाग> और <div> के बीच क्या अंतर है?


934

<section>और <div>में क्या अंतर है HTML?
क्या हम दोनों मामलों में वर्गों को परिभाषित नहीं कर रहे हैं?


जवाबों:


1036

<section> इसका मतलब है कि अंदर की सामग्री को समूहीकृत किया गया है (अर्थात किसी एक विषय से संबंधित), और पृष्ठ की रूपरेखा में एक प्रविष्टि के रूप में दिखाई देनी चाहिए।

<div>दूसरी ओर, किसी भी अर्थ को व्यक्त नहीं करता है , इसके किसी भी गुण से अलग class, langऔर titleगुण।

तो नहीं: <div>HTML में सेक्शन को परिभाषित नहीं करता है।

कल्पना से:

<section>

<section>तत्व एक दस्तावेज़ या आवेदन की एक सामान्य अनुभाग का प्रतिनिधित्व करता है। इस संदर्भ में एक खंड, सामग्री का विषयगत समूहन है। प्रत्येक sectionको आमतौर पर तत्व के एक बच्चे के रूप में शीर्षक (h1-h6 तत्व) शामिल करके पहचाना जाना चाहिए <section>

अनुभागों के उदाहरण अध्याय, टैब किए गए संवाद बॉक्स में विभिन्न टैब किए गए पृष्ठ या थीसिस के गिने हुए अनुभाग होंगे। एक वेब साइट का मुख पृष्ठ एक परिचय, समाचार आइटम और संपर्क जानकारी के लिए खंडों में विभाजित किया जा सकता है।

...

<section>तत्व एक सामान्य कंटेनर तत्व नहीं है। जब किसी तत्व को केवल स्टाइलिंग उद्देश्यों के लिए या स्क्रिप्टिंग के लिए एक सुविधा के रूप में आवश्यक होता है, तो लेखकों को <div>इसके बजाय तत्व का उपयोग करने के लिए प्रोत्साहित किया जाता है। एक सामान्य नियम यह है कि <section>तत्व तभी उपयुक्त है जब तत्व की सामग्री को दस्तावेज़ की रूपरेखा में स्पष्ट रूप से सूचीबद्ध किया जाएगा।

( https://www.w3.org/TR/html/sections.html#the-section-element )

<div>

<div>तत्व सभी में कोई विशेष अर्थ नहीं है। यह अपने बच्चों का प्रतिनिधित्व करता है। इसके साथ इस्तेमाल किया जा सकता class, langऔर titleलगातार तत्वों के एक समूह को अर्थ विज्ञान आम को चिह्नित करने के गुण।

नोट:<div> किसी अन्य तत्व के उपयुक्त होने पर, तत्वों को अंतिम उपाय के तत्व के रूप में देखने के लिए दृढ़ता से प्रोत्साहित किया जाता है। तत्व के बजाय अधिक उपयुक्त तत्वों का उपयोग <div>पाठकों के लिए बेहतर पहुंच और लेखकों के लिए आसान रखरखाव की ओर जाता है।

( https://www.w3.org/TR/html/grouping-content.html#the-div-element )


22
इस उत्तर के प्रकाश सहित sectionबनाम के बारे में अधिक सोचकर div, मैं इस निष्कर्ष पर पहुंचा हूं कि वे वास्तव में एक ही तत्व हैं। W3C का कहना है कि div"अपने बच्चों का प्रतिनिधित्व करता है"। खैर, यह भी नहीं है कि sectionतत्व क्या करता है? हां, sectionइसका तात्पर्य है कि इसके बच्चों को एक साथ समूहित किया जाता है, लेकिन बच्चों को एक के अंदर रखने के बहुत काम से div, आप भी हैं, हाँ, उन्हें एक साथ समूहीकृत करना । कम से कम जिस तरह से मैं यह करता हूं, मुझे आप लोगों के बारे में नहीं पता।
कोशिश

9
@trysis: "के बारे में अधिक सोच sectionबनाम div" - बहुत ज्यादा इसके बारे में नहीं लगता। HTML जटिल नहीं है। "बच्चों को एक के अंदर रखने के बहुत ही काम से div, आप भी, हाँ, उन्हें एक साथ समूहीकृत कर रहे हैं ।" नहीं HTML कल्पना के अनुसार आप नहीं हैं। आप उन्हें divस्टाइल उद्देश्यों, या जावास्क्रिप्ट सुविधा, या कुछ और के लिए लपेट रहे हैं, जो W3C ने अभी तक नहीं सोचा है, लेकिन पाठकों को यह संकेत नहीं देता है कि बच्चे तत्व एक समूह हैं।
पॉल डी। वेट

8
@ Matian2040: क्योंकि HTML का उद्देश्य पाठ में अर्थ जोड़ना है, उदाहरण के लिए <p>This is a paragraph</p>या <h2>This is a second-level heading</h2>। क्योंकि इसका <div>कोई अर्थ नहीं है, आप इसका उपयोग केवल तभी करेंगे जब कोई अन्य HTML तत्व न हो जो प्रश्न में पाठ के लिए उपयुक्त अर्थ जोड़ता है।
पॉल डी। वेट

7
तो वर्गों का उपयोग करने पर एक भी लाभ नहीं है? योग्य, यह तब भी मौजूद क्यों है ?!
काले

14
@ एडवर्डबैक: यह अन्य टैग्स की तुलना में एक अलग अर्थ बताता है। Conveying का अर्थ HTML का संपूर्ण बिंदु है।
पॉल डी। वेट

71

<section>एक खंड को <div>चिह्नित करता है , कोई संबंधित शब्दार्थ के साथ एक सामान्य ब्लॉक को चिह्नित करता है।


@MarwenTrabelsi - लिंक मृत नहीं है। "सेक्शन" एक मानक अंग्रेजी शब्द है। शब्दकोश उपलब्ध हैं।
क्वेंटिन

@MarwenTrabelsi - जिन शब्दों को आप "सार और विस्तृत" कहते हैं, वे महत्वपूर्ण अंतर हैं।
क्वेंटिन

64

<div> Vs <Section>

राउंड 1

<div>:एचटीएमएल तत्व (या HTML दस्तावेज़ डिवीजन तत्व) प्रवाह सामग्री है, जो स्वाभाविक कुछ भी प्रतिनिधित्व नहीं करता है के लिए सामान्य कंटेनर है। इसका उपयोग स्टाइल के उद्देश्यों के लिए समूह तत्वों के लिए किया जा सकता है (वर्ग या आईडी विशेषताओं का उपयोग करके), या क्योंकि वे विशेषता मान साझा करते हैं, जैसे कि लैंग। इसका उपयोग केवल तभी किया जाना चाहिए जब कोई अन्य शब्दार्थ तत्व (जैसे कि <article>या <nav>) उपयुक्त न हो।

<section>:एचटीएमएल धारा तत्व ( <section>) एक दस्तावेज़ के एक सामान्य अनुभाग में, यानी, सामग्री के एक विषयगत समूह, आम तौर पर एक शीर्षक के साथ प्रतिनिधित्व करता है।


दूसरा दौर

<div>: ब्राउज़र का समर्थन यहां छवि विवरण दर्ज करें

<section>: ब्राउज़र का समर्थन

तालिका में संख्या पहले ब्राउज़र संस्करण को निर्दिष्ट करती है जो तत्व का पूरी तरह से समर्थन करती है। यहां छवि विवरण दर्ज करें

उस नस में, एक div केवल शुद्ध CSS या DOM के नजरिए से प्रासंगिक है, जबकि एक खंड शब्दार्थ के लिए और निकट भविष्य में, खोज इंजन द्वारा अनुक्रमण के लिए भी प्रासंगिक है।


10
ब्राउज़र समर्थन यहां एक गैर-मुद्दा है, यह शब्दार्थ के बारे में है। यदि आप HTML5 का उपयोग कर रहे हैं, तो आप शायद वैसे भी पॉलीफ़िल का उपयोग करेंगे।
जैक टक

@JackTuck और क्या होगा अगर आप इस तरह के कुंडलियों का उपयोग नहीं करना चाहते हैं?
मिस्टर लिस्टर

49

बस एक अवलोकन - यह पुष्टि करने वाला कोई दस्तावेज नहीं मिला है

यदि किसी खंड में कोई अन्य अनुभाग है, तो आंतरिक अनुभाग में h1- शीर्षलेख बाहरी अनुभाग में h1- शीर्षलेख की तुलना में एक छोटे फ़ॉन्ट में प्रदर्शित होता है। अनुभाग के बजाय div का उपयोग करते समय आंतरिक div h1-शीर्षलेख को h1 के रूप में चित्रित किया जाता है।

<section>
  <h1>Level1</h1>
  some text
  <section>
    <h1>Level2</h1>
    some more text
  </section>
</section>

- Level2 - हेडर को लेवल 1 - हेडर की तुलना में छोटे फ़ॉन्ट में प्रदर्शित किया जाता है।

जब h1 हेडर को कलर करने के लिए css का उपयोग किया जाता है, तो आंतरिक h1 भी रंगीन होता था (नियमित h1 के रूप में व्यवहार करता है)। यह फ़ायरफ़ॉक्स 18, IE 10 और क्रोम 28 में समान व्यवहार है।


1
यह कितना अजीब है ... इसे प्रदर्शित करने के लिए एक त्वरित स्टैकब्लिट्ज़ बनाया, क्योंकि यह अभी भी एक चीज़ है स्टैकब्लिट्ज़.com
गेविन

24

एचटीएमएल 5 मानक में, <section>तत्व को संबंधित तत्वों के ब्लॉक के रूप में परिभाषित किया गया है।

<div>तत्व बच्चों तत्वों का एक ब्लॉक के रूप में परिभाषित किया गया है।


मुझे नहीं पता कि किसी ने इसे क्यों चिह्नित किया। छोटी, प्यारी, और बात भी।
user6031759

1
-1 इसका कोई मतलब नहीं है, कि आप पदानुक्रमित संरचना दस्तावेज़ (XML / HTML) में संबंधित तत्वों को कैसे समूह बनाना चाहते हैं, आप केवल किसी भी टैग का उपयोग करके बच्चों के तत्वों का समूह ब्लॉक कर सकते हैं।
Svisstack

@Svisstack आप सही हैं कि कोई भी संलग्न टैग (अर्थात स्व-समापन / शून्य नहीं) बाल तत्वों के समूह को ब्लॉक कर सकता है। हालांकि मुझे लगता है कि यह बच्चों के संबंध में अधिक हो रहा है। क्या उन सभी के पास संबंधित संदर्भ है? उदाहरण के लिए: कई इनपुट युक्त प्रपत्र कार्यक्षमता / स्टाइलिंग कारणों से एक साथ समूहीकृत किए जाएंगे। लेकिन यह फ़ॉर्म वेबसाइट का एक खंड नहीं है, बल्कि एक फ़ंक्शन के साथ एक टुकड़ा है। अब बताइए कि आपका पृष्ठ किसी उत्पाद का वर्णन कर रहा है। उत्पाद के बारे में विभिन्न भागों को एक अनुभाग तत्व में सूचीबद्ध किया जाएगा क्योंकि तत्व एक सामूहिक विचार को व्यक्त करते हैं।
Xandor

20

एक दिव्य तत्व के प्रतिस्थापन के रूप में अनुभाग टैग का उपयोग न करने के लिए सावधानी बरतें । एक खंड टैग को शरीर के संदर्भ में एक महत्वपूर्ण क्षेत्र को परिभाषित करना चाहिए । शब्दार्थ, HTML5 हमें अपने दस्तावेज़ को परिभाषित करने के लिए प्रोत्साहित करता है:

<html>
<head></head>
<body>
    <header></header>
    <section>
        <h1></h1>
        <div>
            <span></span>
        </div>
        <div></div>
    </section>
    <footer></footer>
</body>
</html>

यह रणनीति वेब रोबोट और स्वचालित स्क्रीन पाठकों को आपकी सामग्री के प्रवाह को बेहतर ढंग से समझने की अनुमति देती है। यह मार्कअप स्पष्ट रूप से परिभाषित करता है कि आपकी प्रमुख पृष्ठ सामग्री कहाँ समाहित है। बेशक, हेडर और फुटर अक्सर सैकड़ों में आम होते हैं यदि एक वेबसाइट के भीतर हजारों पृष्ठ नहीं। अनुभाग टैग जहां अद्वितीय सामग्री निहित है समझाने के लिए सीमित होना चाहिए। अनुभाग टैग के भीतर , हमें तब एचटीएमएल टैग के साथ सामग्री को चिह्नित करना और नियंत्रित करना जारी रखना चाहिए, जो पदानुक्रम में कम हैं, जैसे कि एच 1 , डिव , स्पैन आदि।

अधिकांश सरल पृष्ठों में, केवल एक ही खंड टैग होना चाहिए , न कि एकाधिक। कृपया यह भी विचार करें कि अन्य दिलचस्प HTML5 टैग हैं जो अनुभाग के समान हैं । अपने दस्तावेज़ प्रवाह के भीतर लेख , सारांश , एक तरफ और अन्य का उपयोग करने पर विचार करें । जैसा कि आप देख सकते हैं, ये टैग HTML दस्तावेज़ के प्रमुख क्षेत्रों को परिभाषित करने की हमारी क्षमता को और बढ़ाते हैं।


"अधिकांश सरल पृष्ठों में, केवल एक एकल खंड टैग होना चाहिए"। क्या आप एक गैर-सरल उदाहरण दे सकते हैं जहां आप एक ही पृष्ठ में कई अनुभाग टैग का उपयोग करना चाहते हैं?
स्टाइल

7
मैं mainटैग का उपयोग वहां करूंगा , और इसके अंदर, एक या अधिक sectionटैग।
चेज़ चेज़

10

<div>- सामान्य प्रवाह कंटेनर हम सभी जानते हैं और प्यार करते हैं। यह एक ब्लॉक-स्तरीय तत्व है जिसमें कोई अतिरिक्त अर्थ नहीं है (W3C: Markup, WhatWG)

<section>—एक सामान्य दस्तावेज या आवेदन अनुभाग। आम तौर पर एक शीर्षक (शीर्षक) होता है और शायद पाद भी होता है। यह संबंधित सामग्री का एक हिस्सा है, एक लंबे लेख के उप-भाग की तरह, पृष्ठ का एक प्रमुख हिस्सा (उदाहरण के लिए मुखपृष्ठ पर समाचार अनुभाग), या एक वेबपेज के टैब इंटरफ़ेस में एक पृष्ठ। (W3C: मार्कअप, व्हाट्सअप)

मेरा सुझाव: div: इस्तेमाल किया कम संस्करण (मुझे लगता है कि 4.01 से अभी तक) html तत्व (डिजाइनरों के बहुत से संभाला)। अनुभाग: हाल ही में (html5) html तत्व।


9

अनुभाग टैग html के लिए अधिक अर्थ सिंटैक्स प्रदान करता है। div एक अनुभाग के लिए एक सामान्य टैग है। जब आप उपयुक्त सामग्री के लिए अनुभाग टैग का उपयोग करते हैं, तो इसका उपयोग खोज इंजन अनुकूलन के लिए भी किया जा सकता है। अनुभाग टैग भी html पार्सिंग के लिए आसान बनाता है। अधिक जानकारी के लिए, देखें। http://blog.whatwg.org/is-not-just-a-semantic


1
"अनुभाग टैग भी html पार्सिंग के लिए आसान बनाता है" - एह? क्या आप पृष्ठ की रूपरेखा तैयार करने के लिए हैं?
पॉल डी। वेट

7

का उपयोग करना भ्रामक<section> हो सकता है , स्क्रीन पाठकों की मदद और एसईओ , जबकि <div>है बाइट्स में छोटे और प्रकार के तेज

कुल मिलाकर बहुत कम अंतर।

इसके अलावा, डाल की सिफारिश नहीं होगा <section>एक में <section>, बजाय एक जगह <div>के अंदर एक<section>


3

यहाँ एक टिप है कि कैसे मैं हाल ही में html5 तत्वों के जोड़े को वेब एप्लिकेशन (विशुद्ध रूप से व्यक्तिपरक) के मामले में अलग करता हूं।

<section> जबकि एक ग्राफिकल यूजर इंटरफेस में एक विजेट चिह्नित करता है <div> एक विजेट के घटकों का कंटेनर होता है जैसे कि बटन को पकड़े हुए कंटेनर, और एक लेबल आदि।

<article> समूह विजेट जो एक उद्देश्य को साझा करते हैं।

<header> शीर्षक और मेनूबार है।

<footer> हैसियत है।


1

<section>टैग इस तरह के अध्याय, हेडर, पाद, या दस्तावेज़ के किसी भी अन्य वर्गों के रूप में एक दस्तावेज़ में वर्गों, परिभाषित करता है।

जहाँ तक:

<div>टैग एक प्रभाग या एक HTML दस्तावेज में एक वर्ग को परिभाषित करता है।

<div>टैग उन्हें सीएसएस के साथ स्वरूपित करने के लिए समूह ब्लॉक तत्वों के लिए प्रयोग किया जाता है।


2
हेडर, फुटर और दस्तावेज़ के अन्य अनुभागों के अपने शब्दार्थ टैग हैं। ( <header>, <footer>, <nav>, <article>आदि)
ओलिवर

1

<section></section>

HTML <section>तत्व आम तौर पर हेडिंग के साथ एक दस्तावेज़ का एक सामान्य अनुभाग, अर्थात, विषयगत समूहन सामग्री का प्रतिनिधित्व करता है। प्रत्येक <section>को आम तौर पर तत्व के एक बच्चे के रूप में एक शीर्षक ( <h1>- <h6>तत्व) शामिल करके पहचाना जाना चाहिए <section> । विवरण के लिए कृपया नीचे दिए गए लिंक पर जाएं।

संदर्भ:


<div></div>

HTML <div>तत्व (या HTML डॉक्यूमेंट डिवीजन एलिमेंट) प्रवाह सामग्री के लिए जेनेरिक कंटेनर है, जो स्वाभाविक रूप से किसी चीज़ का प्रतिनिधित्व नहीं करता है। इसका उपयोग स्टाइल के उद्देश्यों के लिए समूह तत्वों के लिए किया जा सकता है (वर्ग या आईडी विशेषताओं का उपयोग करके), या क्योंकि वे विशेषता मान साझा करते हैं, जैसे कि लैंग। इसका उपयोग केवल तभी किया जाना चाहिए जब कोई अन्य शब्दार्थ तत्व (जैसे कि <article>या <nav>) उपयुक्त न हो।

संदर्भ: - http://www.w3schools.com/tags/tag_div.asp - https://developer.mozilla.org/en/docs/Web/HTML/Element/div


यहाँ कुछ लिंक दिए गए हैं जो उनके बीच के मतभेदों के बारे में अधिक चर्चा करते हैं:

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