HAML - 使用:css filter将type = text/css添加到<style>标记

Mel*_*emi 22 css haml sass noscript

我正在尝试在HAML文件中添加一些内联CSS.我以为

%noscript
  :css
    .pagecontent {display:none;}
Run Code Online (Sandbox Code Playgroud)

会产生:

<noscript>
  <style type="text/css">
    /*<![CDATA[*/
      .pagecontent {display:none;}
    /*]]>*/
  </style>
</noscript>
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.因为它遗漏type="text/css"并产生:

<noscript>
  <style>
    /*<![CDATA[*/
      .pagecontent {display:none;}
    /*]]>*/
  </style>
</noscript>
Run Code Online (Sandbox Code Playgroud)

我可以使用蛮力,%style(type="text/css")但HAML的:css过滤器似乎应该更"优雅"?!?或者,我错过了什么(我很少处理内联CSS)并且type不再需要了?!?

mat*_*att 20

type如果format选项设置为xhtml或,Haml将输出属性html4.如果格式设置html5为该属性将被省略.

请参阅有关选项Haml文档CSS过滤器来源.

Haml 3.1.x中的默认值是xhtml,除了在Rails中,html5因为它是Rails的默认值.在Haml 4+中,默认将始终如一html5.(同样在4+以上,当格式为html4或时,CDATA标签将被默认省略html5.)

  • 先生,这是一个当之无愧的绿色复选标记.+1 (7认同)

Dom*_*nic 9

type默认text/css为HTML5,并且在实践中始终如此(即在浏览器实现中).

所以是的,type="text/css"没有必要(从来没有).