2009-07-17 11 views

उत्तर

44

हाँ वे अलग हैं। आप display: block के साथ एक अवधि शैली

भले ही आप अभी भी इसके अंदर ब्लॉक स्तर तत्वों नहीं डाल सकते:

<div><p>correct</p></div> 
<span style="display: block;"><p>wrong</p></span> 

(एक्स) एचटीएमएल अभी भी (एक्स) का पालन करने के लिए HTML DTD (है जो भी आप उपयोग करते हैं), कोई फर्क नहीं पड़ता कि सीएसएस चीजों को कैसे बदलता है।

<a href='example.com'> 
    <span class='title' style='display:block;'>The title of the image is also a link</span> 
    <img src="example.com/someimage.jpg"/> 
</a> 

आप अपने अवधि एक ब्लॉक स्तर तत्व बनाने के लिए अनुमति देता है और जब एक साथ उजागर करने के लिए छवि और अवधि की अनुमति देता है कि:

+2

क्या 'डिस्प्ले: इनलाइन' के साथ 'div' पर' span' का उपयोग करने का कोई फायदा है, इसके अलावा आवश्यक वर्णों की थोड़ी कम संख्या के अलावा? – JAB

+1

ओएमजी अच्छा जवाब। – VoidKing

1

हां। उनमें विभिन्न चीजें हो सकती हैं और विभिन्न स्थानों में अनुमति दी जाती है।

उन्होंने यह भी वातावरण में अलग ढंग से रेंडर किया जाएगा जहां सीएसएस (कुछ ईमेल सिस्टम में उदा) उपलब्ध नहीं है

12

एक उदाहरण है जहाँ यह एक असली फर्क नहीं पड़ता (मान्य कोड के लिए, कम से कम) है ऊपर moused।

एक div एक टैग के अंदर मान्य निहित नहीं होगा।

+0

यह सीएसएस का समर्थन करने वाले डिवाइस पर एक ब्लॉक के रूप में span _display_ बनाता है, लेकिन यह इसे ब्लॉक-स्तर तत्व नहीं बनाता है - यह एक इनलाइन तत्व बना हुआ है। इस मामले में, वास्तव में आप जो चाहते हैं, क्योंकि अवरोध पूरी तरह से दृश्य प्रभाव के लिए है :-) – NickFitz

+2

हाँ। और यह इसकी सुंदरता है। हालांकि स्टाइलशीट के बिना यह कम अद्भुत दिखता है। –

+0

यह एक दयालुता है कि आप वास्तव में वैधता पर चर्चा करते हैं, क्योंकि आपका उदाहरण ब्राउज़र में वास्तविक, व्यावहारिक अंतर प्रदान करता है चाहे आप HTML वैधता की परवाह करते हों या नहीं। – Alohci

3

ए <div> एक ब्लॉक स्तर तत्व है जिसमें सामग्री के एक अलग ब्लॉक को परिभाषित करने से परे कोई विशिष्ट अर्थशास्त्र नहीं है। < अवधि > एक इनलाइन तत्व है जिसमें इनलाइन सामग्री के एक अलग सेगमेंट को परिभाषित करने से परे कोई विशिष्ट अर्थशास्त्र नहीं है।

आप ब्लॉक के रूप में एक स्पैन डिस्प्ले बनाने के लिए सीएसएस का उपयोग कर सकते हैं, लेकिन ऐसा करने का कोई कारण नहीं है EDIT: पूरी तरह से दृश्य प्रभावों के अलावा, जैसा कि गेब्रियल दर्शाता है; मेरा मतलब यह है कि आपको दस्तावेज़ संरचना के संदर्भ में ब्लॉक-स्तरीय महत्व रखने में एक अवधि को बढ़ाने की कोशिश करने के लिए सीएसएस का उपयोग नहीं करना चाहिए। इसके अलावा, यदि आप करते हैं, तो आपकी सामग्री शायद बिना किसी सीएसएस के उपयोगकर्ता के लिए अर्थहीन दिखाई देगी, जैसे कि अंधे उपयोगकर्ता, या एक खोज इंजन।

यदि यह एक ब्लॉक है, तो एक div का उपयोग करें। यदि यह इनलाइन सामग्री का हिस्सा है, तो एक अवधि का उपयोग करें। याद रखें, सीएसएस अकेले प्रेजेंटेशन के बारे में है; यदि आपकी सामग्री उपयोग करने योग्य है तो आपके मार्कअप को अभी भी तार्किक तरीके से संरचित करने की आवश्यकता है।

विवरण के लिए http://www.w3.org/TR/html401/struct/global.html#edef-DIV देखें।

+1

कथन "ऐसा करने का बिल्कुल कोई कारण नहीं है" स्पष्ट रूप से असत्य है। –

+0

@ गैब्रियल: मैंने अभी आपके उदाहरण को संदर्भित करने के लिए अपनी टिप्पणी संपादित की है, जहां आप एक अच्छा प्रस्तुतिकरण उपयोग प्रदर्शित करते हैं :-) – NickFitz

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