28

次のコードブロックに違いはありますか?

<iframe src="http://example.com" width=100%></iframe>
<iframe src=http://example.com width="100%"></iframe>

私は両方を試しましたが、両方ともうまくいくようですが、注意が必要なことがある場合に備えて質問しています。

4

6 に答える 6

27

を除いて実質的な違いはありません

  1. ページを検証する場合、使用されている doctype に応じて、エラー メッセージを回避するために引用符が必要な場合と不要な場合があります。
  2. XML コンテンツ タイプを含むページをブラウザーに提供する場合 (これはまれであり、ほとんど役に立ちません)、引用符が必要です。それ以外の場合、ページはまったく表示されず、エラー メッセージだけが表示されます。
  3. ページが XML ツールで処理される場合は、引用符が必要です。

それ以外の場合、引用符が実際に必要になるのは、属性値にスペース、改行、ASCII 引用符 (")、ASCII アポストロフィ (')、グレイブ アクセント (`)、等号 (=)、小なり記号 (<) または大なり記号 (>) これでうまくいきますがstyle = width:20em(多少あいまいに見えるかもしれませんが)、そうでstyle = width: 20emはありません – スペースがあるため、 と書く必要がありますstyle = "width: 20em"

多くの人は、簡単にするために、常にすべての属性値を引用符で囲みます。他の人は、引用符がコードを少し乱雑にするので、可能な限り引用符を省略していると考えています。

これとはまったくsrc="www.example.com"関係なく、相対的な URL 参照を意味し、人々が期待する意味ではありません。あなたはおそらく意味しsrc="http://www.example.com"た。

于 2012-10-24T21:49:25.217 に答える
11

W3Cによると、次の4 種類の属性構文があります。

  1. 空の属性構文
  2. 引用符のない属性値の構文
  3. 単一引用符で囲まれた属性値の構文
  4. 二重引用符で囲まれた属性値の構文

これらは実際には HTML5 に適用されますが、< HTML5 を参照する場合、W3Cは、使用される doctype (例: strict、transitional など) に基づいて引用符 (一重または二重) が必要であると述べています。

于 2012-10-24T20:01:45.597 に答える
10

いいえ、どちらも同じです。

HTML 5では、属性に関する引用符はオプションです。(値にスペースまたは特殊文字が含まれていない場合)

しかし、引用符で囲む方が良い方法だと思います。

于 2012-10-24T19:55:55.530 に答える
7

引用符で囲まれていない属性値の構文

属性名、その後に 0 個以上の空白文字、単一の U+003D EQUALS SIGN 文字、0 個以上の空白文字が続き、その後に属性値が続きます。これは、上記の属性値の要件に加えて、リテラル スペース文字、U+0022 クォーテーション マーク文字 (")、U+0027 アポストロフィ文字 (')、U+003D 等号記号 (=)、U+003C LESS-THAN SIGN 文字 (<)、 U+003E GREATER-THAN SIGN 文字 (>)、または U+0060 GRAVE ACCENT 文字 (`)。空の文字列であってはなりません。

出典: W3 HTML5 仕様 - 秒 8.1.2.3。属性

于 2018-08-08T17:22:31.247 に答える
6

これは Google からのものです - ベスト プラクティス - 「ペイロード サイズを最小化する」 https://developers.google.com/speed/docs/best-practices/payload (私の強調)

コンテンツが適切に圧縮されるようにするには、次のことを行います: ... HTML タグ属性に一貫した引用符を使用します。つまり、常に一重引用符、常に二重引用符を使用するか、可能であれば引用符をまったく使用しません。

于 2014-03-06T13:08:37.933 に答える
0

HTMLマークアップの真の妥当性がすべてです。これは、W3C(WWWコンソーシアム)が機能するためのものです。HTMLで機能するものはたくさんありますが、Webブラウザーでより注意深く認識されるようにするには、それらを検証する必要があります。<html>開始と終了のタグとタグを省略することもできますが</html>、これはまったくお勧めできません。誰もそれを行わず、「不正なコード」と見なされます。

したがって、引用符で囲む方が有効です。

于 2012-10-24T19:56:08.950 に答える