2010-08-23 16 views
14

मुझे पता है कि <section> टैग स्टाइल करना गलत है लेकिन <header> और <footer> टैग्स के बारे में कैसे है। यदि इन टैग का उपयोग करना अधिक अर्थपूर्ण मार्कअप प्रदान करता है तो उन्हें उपयोग किया जाना चाहिए, हालांकि, अगर उन्हें स्टाइल नहीं किया जा सकता है तो सामग्री को लपेटने और इसे स्टाइल करने के लिए टैग के अंदर <div> को अभी भी डालने की आवश्यकता होगी।स्टाइलिंग एचटीएमएल 5 तत्व

मुझे पता है कि <header> स्टाइल किया जा सकता है लेकिन मुझे यकीन नहीं है कि ऐसा करना सही है या नहीं।

तो सवाल यह है: क्या HTML5 टैग स्टाइल किए जाने चाहिए या <div> को स्टाइल की देखभाल करने के लिए अंदर रखा जाना चाहिए?

+0

दर्शनशास्त्र :-) –

+4

किसी भी HTML5 तत्व को स्टाइल करना बुरा क्यों होगा? – Gabriel

+1

'

'टैग के लिए:" जब स्टाइल उद्देश्यों या स्क्रिप्टिंग के लिए सुविधा के लिए तत्व की आवश्यकता होती है, तो लेखकों को इसके बजाय div तत्व का उपयोग करने के लिए प्रोत्साहित किया जाता है। " मैं सोच रहा था कि अन्य HTML5 टैग के संबंध में समान "नियम" थे या नहीं। – alexcoco

उत्तर

36

spec में कुछ भी नहीं कहता है कि आपया <article> जैसे HTML5 तत्वों को स्टाइल नहीं कर सकते हैं या नहीं। यह केवल इतना कहता है कि 'के लिए आपको कहीं भी' 'के लिए एक अर्थपूर्ण HTML5 तत्व नहीं रखना चाहिए। इसके बजाय <div> का उपयोग करें।

तो अगर आप जोड़ने के लिए एक अर्थ कारण है <section> या <article> कहीं है, तो हर तरह से जोड़ने यह और भी यह शैली के साथ-संकोच न करें। लेकिन अगर आपको स्टाइलिंग उद्देश्यों के लिए अपने मार्क-अप का एक सेक्शन लपेटना है (उदाहरण के लिए, सीमा जोड़ने या फ्लोट बाएं इत्यादि), लेकिन उस अनुभाग में आपके मार्क-अप में कोई अर्थपूर्ण अर्थ नहीं है, तो <div> का उपयोग करें ।

उदाहरण के लिए:

<div class="mainBox"> 
    <nav class="breadcrumbs"> 
     <ol> 
      <li>...list of links (snip)....</li> 
     </ol> 
    </nav> 

    <section> 
     <h1>Latest Tweets From Twitter</h1> 

     <article> 
      //... a Tweet (snip)... // 
     </article> 

     <article> 
      //... a Tweet (snip)... // 
     </article> 

     //... lots more Twitter posts (snip)... // 

    </section> 

</div> 

<section> तत्व अपने पृष्ठ (। यानी ट्वीट्स की अपनी सूची) का मुख्य हिस्सा है और यह भी शुरू जो आवश्यक है पर एक शीर्षक है। लेकिन यह div.mainBox तत्व में लपेटा गया है क्योंकि शायद आप दोनों ब्रेडक्रंब और सेक्शन भागों, यानी दोनों के चारों ओर एक सीमा लपेटना चाहते हैं। यह स्टाइल के लिए पूरी तरह से है। लेकिन <section> और <article> तत्वों को स्टाइल करने से रोकने के लिए कुछ भी नहीं है।

3

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

यह कहकर कि आपको स्टाइलिंग से सावधान रहना चाहिए क्योंकि वे सभी ब्राउज़रों द्वारा मान्यता प्राप्त नहीं हैं। उदाहरण के लिए आईई 6 और 7 शैलियों को लागू नहीं करेंगे क्योंकि वे तत्व नामों को पहचान नहीं पाएंगे। आप एरिया टैग का उपयोग करके आईई 7 में इसके आसपास हो सकते हैं जो आपको कुछ स्टाइल नियंत्रण की अनुमति देगा।

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