20

HTML5要素の「class」属性に改行を含めることはできますか?仕様では許容されますか?ブラウザはそれをサポートしていますか?

さまざまなクラスを要素に動的に挿入するコードがいくつかあり、これにより管理が難しい非常に長い行が1つ作成されたためです。通常、変数を使用してクラス値を作成しますが、使用しているCMSでは、テンプレートの条件付きタグをHTMLとインラインで配置する必要があります。変数やPHPは使えません。

私の調査で見つけたのは、一部のHTMLタグ属性は単一行である必要があるということですが、クラス属性がそれらの1つであるかどうかを見つけることができませんでした。

誰かがこれについて何か知っていますか?

4

2 に答える 2

24

HTML 4仕様によると、class属性はCDATA次のとおりです。

ユーザーエージェントは、属性値を次のように解釈する必要があります。

o文字エンティティを文字に置き換えます

oラインフィードを無視する

o各キャリッジリターンまたはタブを1つのスペースに置き換えます。

ですから、あなたはそこに良い状態にあります。

HTML5仕様では、クラスをスペースで区切られたトークンのセットとして記述しています。ここで、「スペース」には改行が含まれます。

だからあなたもそこに良いはずです。

于 2013-02-18T02:26:28.490 に答える
5

[class]HTML5要素の属性に改行を含めることはできますか?

はい。HTML5仕様によると

属性を指定する場合は、要素が属するさまざまなクラスを表すスペースで区切られたトークンのセットである値が必要です。

リンクは次のように進みます。

スペースで区切られたトークンのセットは、1つ以上のスペース文字で区切られた0個以上の単語(トークンと呼ばれる)を含む文字列です。ここで、単語は1つ以上の文字の任意の文字列で構成され、いずれもスペース文字ではありません。

また、スペース文字には次のものが含まれます。

  • スペース(' '
  • タブ(\t
  • 改行(\n
  • フォームフィード(\f
  • キャリッジリターン(\r

この仕様では、スペース文字はU + 0020 SPACE、 "tab"(U + 0009)、 "LF"(U + 000A)、 "FF"(U + 000C)、および "CR"(U + 000D)。

UTF-8ドキュメントに追加する改行は次のとおりです。

  • 改行(\n
  • キャリッジリターン(\r
  • キャリッジリターンの直後に改行が続く(\r\n
于 2013-02-18T02:41:13.507 に答える