2012-01-16 10 views
22

Sto cercando di aggiungere alcuni CSS in linea in un file HAML. Ho pensato cheHAML - aggiungi type = text/css al tag <style> con: filtro css

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

produrrebbe:

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

ma non è così. Come si lascia fuori la type="text/css" e produce:

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

ho potuto solo usare la forza bruta ma %style(type="text/css") filtro di HAML :css sembra che dovrebbe essere più "elegante"?!? Oppure mi sono perso qualcosa (raramente mi occupo di CSS in linea) e lo type non è più necessario?!?

risposta

19

Haml segnala lo type attributo se l'opzione format è impostato xhtml o html4. Se il formato è impostato su html5, l'attributo verrà omesso.

Vedere Haml docs on options e source of the CSS filter.

Il valore predefinito in Haml 3.1.x è xhtml, tranne in Rails quando è html5 poiché questo è il valore predefinito di Rails. In Haml 4+ il valore predefinito sarà html5 in tutto. (Anche in 4+ i tag CDATA saranno esclusi per impostazione predefinita quando il formato è html4 o html5.)

+7

Un meritato furto del segno di spunta verde, signore. +1 – Domenic

Problemi correlati