<a href=" #id ">
(スペースに注意)は正しい(X)HTMLですか?
<a href="#id">
と同じ意味ですか?
[…]値は スペースで囲まれている可能性のある有効なURL である必要があります。
アンカーが示唆するように、先頭と末尾のスペースが含まれている場合があります。
リンクされたセクションでは、 これらのスペースは削除されます :
[…]ユーザーエージェントは、文字列の先頭または末尾にあるすべての スペース文字 を削除する必要があります[…]
実際のURLがスペースで始まる(またはスペースを含む)場合、%20
でパーセントエンコードする必要があります。
これらの要素には異なるURL値があります。
<a href=" foo">…</a> <!-- the URL is <foo> -->
<a href="%20foo">…</a> <!-- the URL is < foo>, i.e., <%20foo> -->
これらの要素には同じURL値があります。
<a href="%20foo">…</a>
<a href="%20foo ">…</a>
<a href="%20foo ">…</a>
<a href=" %20foo">…</a>
<a href=" %20foo">…</a>
<a href=" %20foo ">…</a>
なぜこれをするのですか?誰がそのようなコードを書きますか?これは「」の間にある不要なスペースです。
リテラルスペースはURLで許可されておらず、データの一部ではありません。人間が消費するためにフォーマットするだけです。
空白を削除する必要があります。一部のブラウザでは、スペースとしてレンダリングされます。
スペースは有効です。一方にはスペースがあり、もう一方にはスペースがないため、両方とも異なります。つまり、そのフォーマットまたはリンクは異なります。
はい、スペースを使用してエラーが発生した場合は、ブラウザによって自動的に修正されますが、別の方法で書き込むことができます:
uRL、つまりhrefはスペースをサポートします。とにかく「%20」に置き換えてください。
<a href="%20#id"> </a>
これにより、「#id」ではなく「#id」が生成されます。
例えば:
<a href="?How%20Are%20You">How are you?</a>