2012-01-16 9 views
22

मैं एक एचएएमएल फ़ाइल में कुछ इनलाइन सीएसएस जोड़ने की कोशिश कर रहा हूं। मैंने सोचा था कि यह होगा किHAML - <style> टैग के साथ टाइप = टेक्स्ट/सीएसएस जोड़ें: सीएसएस फ़िल्टर

%noscript 
    :css 
    .pagecontent {display:none;} 

उत्पादन:

<noscript> 
    <style type="text/css"> 
    /*<![CDATA[*/ 
     .pagecontent {display:none;} 
    /*]]>*/ 
    </style> 
</noscript> 

लेकिन ऐसा नहीं है। यह type="text/css" बाहर छोड़ देता है और पैदा करता है के रूप में:

<noscript> 
    <style> 
    /*<![CDATA[*/ 
     .pagecontent {display:none;} 
    /*]]>*/ 
    </style> 
</noscript> 

मैं सिर्फ जानवर बल %style(type="text/css") इस्तेमाल कर सकते हैं लेकिन Haml के :css फिल्टर लगता है जैसे कि यह होना चाहिए और अधिक "सुंदर"?!? या, क्या मुझे कुछ याद आया (मैं शायद ही कभी इनलाइन सीएसएस से निपटता हूं) और type अब आवश्यक नहीं है?!

उत्तर

19

हैमर type विशेषता आउटपुट करेगा यदि format विकल्प xhtml या html4 पर सेट किया गया है। यदि प्रारूप html5 पर सेट किया गया है तो विशेषता छोड़ी जाएगी।

Haml docs on options और source of the CSS filter देखें।

हैम 3.1.x में डिफ़ॉल्ट xhtml है, रेल में छोड़कर html5 है क्योंकि यह रेल डिफ़ॉल्ट है। हैमल 4+ में डिफ़ॉल्ट html5 होगा। (इसके अलावा में 4 CDATA टैग डिफ़ॉल्ट रूप से बाहर छोड़ दिया जाएगा जब प्रारूप html4 या html5 है।)

+7

हरा चेकमार्क का अच्छी तरह से लायक चोरी, सर। +1 – Domenic

9

type defaults to text/css as of HTML5, और हमेशा अभ्यास में ऐसा किया है (यानी ब्राउज़र कार्यान्वयन में)।

तो हाँ, type="text/css" आवश्यक नहीं है (और कभी नहीं किया गया है)।

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