私の質問は簡単です:HTML属性の改行と特殊文字
以下は有効ですか?たとえそれがあっても、いくつかのブラウザでは壊れますか?文字は属性値でエンコードされ、 "しなければならない"
<div data-text="Blah blah blah
More blah
And just a little extra blah to finish"> ... </div>
?私は"
が"
でなければならないと知っていますが、他にエンコードする必要がありますか?
私の質問は簡単です:HTML属性の改行と特殊文字
以下は有効ですか?たとえそれがあっても、いくつかのブラウザでは壊れますか?文字は属性値でエンコードされ、 "しなければならない"
<div data-text="Blah blah blah
More blah
And just a little extra blah to finish"> ... </div>
?私は"
が"
でなければならないと知っていますが、他にエンコードする必要がありますか?
以下は有効ですか?
これは有効なHTML5の断片です。はい。
一部のブラウザでは壊れますか?
そう思わない。
属性値にエンコードする文字はどれですか。私は
"
が"
でなければならないと知っていますが、他にエンコードする必要がありますか?
属性値が二重引用符で囲まれているか、一重引用符で囲まれているか、引用符で囲まれていないかによって異なります。
二重引用符の場合は、"
は、その文字参照に置き換える必要があります。&
は、それに続く文字に応じて文字参照に置き換える必要があります。 attribute-value-double-quoted-state
'
は、その文字参照に置き換える必要があり、それに続く文字に応じて&
を文字参照に置き換える必要がある場合があります。引用符で囲まれていないフォームTAB
、LINEFEED
、FORMFEED
、SPACE
についてattribute-value-single-quoted-state
を参照してください、>
は、その文字参照によって置き換えられなければならない、と&
は、それに続く文字に応じて、その文字参照で交換する必要があります。 attribute-value-unquoted-state
[引用符で囲まれていない属性値](http://mathiasbynens.be/notes/unquoted-attribute-values)の一部としてエンコードする必要がある文字がさらにあります。たとえば、 '' '文字をエンコードする必要があります。そうでなければ、無効なHTML5になります。これは、古いIEバージョンでは引用符で囲まれていない属性値から抜け出すのに ''文字を使うことができるからです。指定された属性値が引用符なしで使用できるかどうかを示すツールは次のとおりです:http://mothereff.in/unquoted-attributes#foo%60bar –
'&'をエンコードする必要がある場合はhttp: /mathiasbynens.be/notes/ambiguous-ampersands。 –
1つの答えはありませんので、異なる属性のためのさまざまな要件があります。 たとえば、title属性は改行を許可しますが、class属性は文字列トークンのスペースで区切られた行です。データ要素のため
は仕様は、名前空間の言うものの:
がU + 005A(ラテンCAPITAL LETTER Zにラテン大文字A)に範囲U + 0041には文字が含まれていません。
それ以外は何の違いもありません。
HTML4についてはどうですか?そこには違うルールがありますか? –