web-dev-qa-db-ja.com

HAML-:cssフィルターを使用して<style>タグにtype = text / cssを追加

HAMLファイルにインラインCSSを追加しようとしています。と思った

_%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_フィルターはそのように見えますすべきより「エレガント」ですか?!?または、何かを見逃しましたか(インラインCSSを扱うことはめったにありません)、typeは不要になりました!??

22
Meltemi

typeオプションがformatまたはhtml4に設定されている場合、Hamlはxhtml属性を出力します。形式がhtml5に設定されている場合、属性は省略されます。

オプションのHamlドキュメント および CSSフィルターのソース を参照してください。

Haml 3.1.xのデフォルトはxhtmlです。ただし、Railsの場合はhtml5の場合を除く)Rails default 。Haml 4以降では、デフォルトは全体でhtml5になります(4以降でも、形式がhtml4またはhtml5の場合、CDATAタグはデフォルトで省略されます)。

20
matt

typeデフォルトはtext/css HTML5の時点で 、そして実際に(つまり、ブラウザの実装で)常にそうしています。

あ、はい、 type="text/css"は必要ありません(必要ありませんでした)。

9
Domenic