जवाबों:
div
एक ब्लॉक तत्व हैspan
एक है इनलाइन तत्व ।इसका मतलब यह है कि उन्हें शब्दार्थ रूप से उपयोग करने के लिए, divs का उपयोग किसी दस्तावेज़ के अनुभागों को लपेटने के लिए किया जाना चाहिए, जबकि पाठ, छवियों आदि के छोटे भागों को लपेटने के लिए स्पैन का उपयोग किया जाना चाहिए।
<div>This a large main division, with <span>a small bit</span> of spanned text!</div>
<div>Some <span>text that <div>I want</div> to mark</span> up</div>
... अवैध है।
EDIT: HTML5 के रूप में, कुछ इनलाइन तत्वों के अंदर कुछ ब्लॉक एलिमेंट्स रखे जा सकते हैं। एक स्पष्ट सूची के लिए यहाँ MDN संदर्भ देखें । उपरोक्त अभी भी गैरकानूनी है, क्योंकि <span>
केवल हेडिंग सामग्री को स्वीकार करता है, और <div>
प्रवाह सामग्री है।
आपने कुछ ठोस उदाहरणों के लिए कहा, इसलिए मेरी गेंदबाजी वेबसाइट, बाउलस्क में से एक ली गई है :
<div id="header">
<div id="userbar">
Hi there, <span class="username">Chris Marasti-Georg</span> |
<a href="/edit-profile.html">Profile</a> |
<a href="https://www.bowlsk.com/_ah/logout?...">Sign out</a>
</div>
<h1><a href="/">Bowl<span class="sk">SK</span></a></h1>
</div>
h1
। उपयोगकर्ता नाम, एक अनुभाग होने के नाते, एक में लपेटा गया है div
। उसके भीतर, उपयोगकर्ता नाम एक में लपेटा जाता है span
, ताकि मैं शैली को बदल सकूं। जैसा कि आप देख सकते हैं, मैंने span
शीर्षक में लगभग 2 अक्षरों को भी लपेटा है - यह मुझे अपनी स्टाइलशीट में अपना रंग बदलने की अनुमति देता है।
यह भी ध्यान दें कि HTML5 में सामान्य पेज संरचनाओं को परिभाषित करने वाले तत्वों का एक व्यापक नया सेट शामिल है, जैसे कि लेख, अनुभाग, नौसेना, आदि।
HTML 5 वर्किंग ड्राफ्ट की धारा 4.4 उन्हें सूचीबद्ध करती है और उनके उपयोग के अनुसार संकेत देती है। HTML5 अभी भी एक कार्यशील युक्ति है, इसलिए अभी तक कुछ भी "अंतिम" नहीं है, लेकिन यह अत्यधिक संदिग्ध है कि इनमें से कोई भी तत्व कहीं भी जा रहा है। एक जावास्क्रिप्ट हैक है जिसे आपको उपयोग करने की आवश्यकता होगी यदि आप इन तत्वों को IE के कुछ पुराने संस्करण में स्टाइल करना चाहते हैं - आपको document.createElement
अपने स्रोत में निर्दिष्ट किसी भी तत्व का उपयोग करने से पहले प्रत्येक तत्व को बनाने की आवश्यकता है । पुस्तकालयों का एक समूह है जो आपके लिए इस बात का ध्यान रखेगा - एक त्वरित Google खोज html5shiv पर बदल गया ।
div
और span
शब्दार्थ रूप से उनके पास कोई अर्थ नहीं है जो उनसे जुड़ा हुआ है।div
एक अर्थहीन सामान्य ब्लॉक स्तर के तत्व हैं जबकि span
एक अर्थहीन सामान्य इनलाइन तत्व है।
पूर्णता के लिए, मैं आपको इस तरह से सोचने के लिए आमंत्रित करता हूं:
<p>
एक पैराग्राफ, <li>
एक सूची आइटम है, आदि, और हम सही उद्देश्य के लिए सही टैग का उपयोग करने वाले हैं - पुराने दिनों की तरह नहीं जब हम <blockquote>
सामग्री का उद्धरण है या नहीं, इसका उपयोग करके इंडेंट किया गया।<div>
और <span>
, क्योंकि अन्यथा, लोग उन तत्वों का दुरुपयोग करने से पीछे हट जाएंगे जिनके अर्थ हैं।यहां पहले से ही अच्छे, विस्तृत उत्तर हैं, लेकिन कोई दृश्य उदाहरण नहीं है, इसलिए यहां एक त्वरित चित्रण है:
<div>This is a div.</div>
<div>This is a div.</div>
<div>This is a div.</div>
<span>This is a span.</span>
<span>This is a span.</span>
<span>This is a span.</span>
<div>
एक ब्लॉक टैग है, जबकि <span>
एक इनलाइन टैग है।
<div>
एक ब्लॉक-स्तरीय तत्व है और <span>
एक इनलाइन तत्व है।
यदि आप कुछ इनलाइन पाठ के साथ कुछ करना चाहते थे, तो <span>
जाने का रास्ता है क्योंकि यह लाइन ब्रेक का परिचय नहीं देगा जो कि एक <div>
होगा।
जैसा कि दूसरों ने नोट किया है, इनमें से प्रत्येक के साथ कुछ शब्दार्थ निहित हैं, सबसे महत्वपूर्ण तथ्य यह है कि <div>
दस्तावेज़ में एक तार्किक विभाजन का अर्थ है, शायद दस्तावेज़ का एक खंड या कुछ और, एक ला:
<div id="Chapter1">
<p>Lorem ipsum dolor sit amet, <span id="SomeSpecialText1">consectetuer adipiscing</span> elit. Duis congue vehicula purus.</p>
<p>Nam <span id="SomeSpecialText2">eget magna nec</span> sapien fringilla euismod. Donec hendrerit.</p>
</div>
वास्तविक महत्वपूर्ण अंतर पहले ही क्रिस के उत्तर में उल्लिखित है। हालांकि, निहितार्थ हर किसी के लिए स्पष्ट नहीं होगा।
इनलाइन तत्व के रूप में, <span>
केवल अन्य इनलाइन तत्व शामिल हो सकते हैं। निम्नलिखित कोड इसलिए गलत है:
<span><p>This is a paragraph</p></span>
उपरोक्त कोड मान्य नहीं है। ब्लॉक-स्तरीय तत्वों को लपेटने के लिए, एक अन्य ब्लॉक-स्तरीय तत्व का उपयोग किया जाना चाहिए (जैसे <div>
)। दूसरी ओर, <div>
केवल उन स्थानों पर उपयोग किया जा सकता है जहां ब्लॉक-स्तरीय तत्व कानूनी हैं।
इसके अलावा, इन नियमों को (एक्स) HTML में तय किया गया है और वे सीएसएस नियमों की उपस्थिति से बदल नहीं रहे हैं ! तो निम्नलिखित कोड भी गलत हैं!
<span style="display: block"><p>Still wrong</p></span>
<span><p style="display: inline">Just as wrong</p></span>
"ब्लॉक एलिमेंट" का महत्व निहित है लेकिन कभी स्पष्ट रूप से नहीं बताया गया है। यदि हम सभी सिद्धांत (सिद्धांत अच्छे हैं) को अनदेखा करते हैं तो निम्नलिखित एक व्यावहारिक तुलना है। निम्नलिखित:
<p>This paragraph <span>has</span> a span.</p>
<p>This paragraph <div>has</div> a div.</p>
पैदा करता है:
This paragraph has a span.
This paragraph
has
a div.
यह दर्शाता है कि न केवल एक div इनलाइन का उपयोग नहीं किया जाना चाहिए , यह केवल वांछित प्रभाव का उत्पादन नहीं करेगा।
जैसा कि अन्य उत्तरों में उल्लेख किया गया है, डिफ़ॉल्ट div
रूप से एक ब्लॉक तत्व के रूप में प्रस्तुत किया span
जाएगा , जबकि इसके संदर्भ में इनलाइन प्रदान किया जाएगा। लेकिन न तो इसका कोई शब्दार्थ है; वे आपको स्टाइल और एक पहचान किसी भी सामग्री को लागू करने की अनुमति देने के लिए मौजूद हैं। शैलियों का उपयोग करके, आप div
एक span
और इसके विपरीत जैसे कार्य कर सकते हैं।
के लिए उपयोगी शैलियों में से div
एक हैinline-block
उदाहरण:
मैंने inline-block
खेल वेब परियोजनाओं में एक बड़ी सफलता का उपयोग किया है।
डिव एक ब्लॉक एलिमेंट है और स्पैन एक इनलाइन एलिमेंट है और इसकी चौड़ाई इस बात पर निर्भर करती है कि यह सेल्फ कहां नहीं है
मैं कहूंगा कि यदि आप इस पृष्ठ को देखने के लिए स्पेनिश का एक सा जानते हैं , जहां ठीक से समझाया गया है।
हालाँकि, एक तेज़ परिभाषा यह होगी कि div
यह खंडों को विभाजित span
करने के लिए है और किसी अन्य प्रकार के ब्लॉक तत्व में किसी प्रकार की शैली को लागू करने के लिए है div
।
बस कुछ ऐतिहासिक संदर्भ जोड़ना चाहते थे कि कैसे span
बनाम आयाdiv
का इतिहास span
:
3 जुलाई, 1995 को बेंजामिन सीडब्ल्यू सीटलर ने एक सामान्य टेक्स्ट कंटेनर का प्रस्ताव रखा कुछ ब्लॉकों में शैलियों को लागू करने के लिए टैग । यदि स्टाइलशीट के संयोजन में उपयोग किया जाता है, तो यह प्रतिपादन तटस्थ है। बनाम पठनीयता के बारे में बहस है, अर्थ। बर्ट बोस क्लास एट्रिब्यूट (शहर, व्यक्ति, दिनांक आदि जैसे मूल्यों के साथ) के माध्यम से तत्व की एक्स्टेंसिबिलिटी प्रकृति का उल्लेख कर रहे हैं। पॉल प्रेस्कॉड चिंतित है कि दोनों तत्वों का दुरुपयोग किया जाएगा। वह पाठ उल्लेख के विरोध में है कि "किसी भी नए तत्व को एक पुराने पर होना चाहिए" और जोड़ना "अगर हम बिना किसी शब्दार्थ के साथ एक टैग बनाते हैं तो इसे कभी भी गलत किए बिना उपयोग किया जा सकता है। , हमें लेखकों को अपने दस्तावेज़ के शब्दार्थों को ठीक से टैग करने के लिए बाध्य करना चाहिए। हमें संपादक विक्रेताओं को अपने इंटरफेस में उस विकल्प को स्पष्ट करने के लिए मजबूर करना चाहिए। "
परिचय देने वाले RFC ड्राफ्ट से span
:
सबसे पहले, उन मामलों में LANG और BIDI विशेषताओं को ले जाने के लिए एक सामान्य चोर की आवश्यकता होती है जहां कोई अन्य तत्व उपयुक्त नहीं है; स्पैन एल-मेंट को उस उद्देश्य के लिए पेश किया गया है।
का इतिहास div
:
DIV तत्वों का उपयोग HTML दस्तावेजों को विभाजनों के पदानुक्रम के रूप में करने के लिए किया जा सकता है।
...
HTML 3.0 DIV तत्व के लिए समर्थन जोड़ने से पहले नेटस्केप द्वारा CENTER को पेश किया गया था। इसकी व्यापक तैनाती के कारण इसे HTML 3.2 में बरकरार रखा गया है।
संक्षेप में, दोनों तत्व अधिक अर्ध-सामान्य कंटेनर की आवश्यकता से उत्पन्न हुए। एक <text>
पाठ शैली के लिए एक तत्व के रूप में स्पैन को अधिक सामान्य प्रतिस्थापन के रूप में प्रस्तावित किया गया था । डिव को पृष्ठों को विभाजित करने के एक सामान्य तरीके के रूप में प्रस्तावित किया गया था और <center>
केंद्र-संरेखण सामग्री के लिए टैग को बदलने का अतिरिक्त लाभ था । पृष्ठ विभाजन के रूप में अपने इतिहास के कारण Div हमेशा एक ब्लॉक तत्व रहा है। स्पैन हमेशा एक इनलाइन तत्व रहा है क्योंकि इसका मूल उद्देश्य टेक्स्ट स्टाइलिंग था और आज डिव और स्पैन दोनों क्रमशः डिफ़ॉल्ट ब्लॉक और इनलाइन डिस्प्ले गुणों के साथ जेनेरिक तत्व होने पर पहुंचे हैं।
HTML में ऐसे टैग हैं जो सामग्री में संरचना या शब्दार्थ जोड़ते हैं। उदाहरण के लिए <p>
टैग का उपयोग पैराग्राफ की पहचान करने के लिए किया जाता है। एक अन्य उदाहरण <ol>
एक सूचीबद्ध सूची के लिए टैग है।
जब एचटीएमएल में कोई उपयुक्त टैग उपलब्ध नहीं है जैसा कि ऊपर दिखाया गया है, <div>
और <span>
टैग का आमतौर पर सहारा लिया जाता है।
<div>
टैग से पहले और इसके बाद एक लाइन ब्रेक है कि एक दस्तावेज़ की एक blocklevel अनुभाग / प्रभाग की पहचान के लिए प्रयोग किया जाता है।
जहां दिव्यांग टैग का उपयोग किया जा सकता है उनके उदाहरण हेडर, फुटर, नेवीगेशन आदि हैं। हालांकि HTML 5 में ये टैग पहले ही प्रदान किए जा चुके हैं।
<span>
टैग किसी दस्तावेज़ के एक इनलाइन अनुभाग / प्रभाग की पहचान के लिए प्रयोग किया जाता है।
उदाहरण के लिए एक स्पैन टैग का उपयोग इनलाइन पोर्ट्रेटोग्राफ को एक तत्व में जोड़ने के लिए किया जा सकता है।
याद रखें, मूल रूप से और वे स्वयं कोई भी कार्य नहीं करते हैं। वे केवल अपने टैग द्वारा कार्यक्षमता के बारे में विशिष्ट नहीं हैं ।
इन्हें केवल CSS की मदद से कस्टमाइज किया जा सकता है।
अब यह आपके प्रश्न पर आ रहा है:
कुछ स्टाइल के साथ SPAN टैग एक लाइन के अंदर होल्ड होने पर उपयोगी होगा, html में एक पैराग्राफ में कहेंगे। यह HTML में लाइन स्तर या स्टेटमेंट लेवल की तरह है।
उदाहरण:
<p>Am writing<span class="time">this answer</span> in my free time of my day.</p>
कहा जाता है कि DIV टैग की कार्यक्षमता केवल स्टाइलिंग के साथ दिखाई दे सकती है, इसमें HTML कोड के बड़े हिस्से हो सकते हैं।
DIV ब्लॉक स्तर है
उदाहरण:
<div class="large-time">
<p>Am writing <span class="time"> this answer</span> in my free time of my day.
</p>
</div>
आपकी आवश्यकता के आधार पर उपयोग किए जाने पर दोनों का अपना समय और मामला है।
आशा है कि उत्तर के साथ स्पष्ट हूँ। धन्यवाद।