带/不带引号的HTML属性

时间:2012-10-24 19:53:57

标签: html quotes

之间有什么区别吗?
<iframe src="www.example.com" width=100%></iframe>

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

我已经尝试了两者,两者似乎都有效,但我要求以防万一我需要小心(比如%等以外的单位)。

6 个答案:

答案 0 :(得分:13)

除了

之外没有实际的区别
  1. 如果您验证了自己的网页,引号可能会也可能不会 需要避免错误消息,具体取决于使用的文档类型
  2. 如果您向浏览器提供具有XML内容类型的页面(其中 是罕见的,很少有用),然后引用是必要的 - 否则 页面根本不显示,只是一条错误消息
  3. 如果使用XML工具处理页面,则引号是必需的。
  4. 否则,只有当属性值包含空格,换行符,Ascii引号(“),Ascii撇号('),重音符号(`),等号时才真正需要引号( =),小于符号(&lt;)或大于符号(&gt;)。所以style = width:20em会起作用(虽然它可能被视为有些模糊),而style = width: 20em则不会 - 由于空间的原因,您需要写style = "width: 20em"

    为简单起见,许多人总是在所有属性值周围写下引号。其他人则认为引号会使代码变得有点混乱,所以在可能的情况下省略它们。

    与此无关,src="www.example.com"表示相对URL引用,而不是人们期望的含义。你可能意味着src="http://www.example.com"

答案 1 :(得分:5)

根据 W3C ,有四种类型的属性语法:

  1. 空属性语法
  2. 不带引号的属性值语法
  3. 单引号属性值语法
  4. 双引号属性值语法
  5. 这些确实适用于HTML5,但是在引用&lt; HTML5 W3C 表示根据所使用的doctype(例如严格,过渡等)需要引号(单引号或双引号)。

答案 2 :(得分:3)

这是来自Google - 最佳做法 - “最小化有效负载大小” https://developers.google.com/speed/docs/best-practices/payload (我的重点)

要确保您的内容能够很好地压缩,请执行以下操作: ... 对HTML标记属性使用一致引用, 即,总是单引号,总是双引号,或根本没有引用

答案 3 :(得分:1)

所有关于HTML标记的真实有效性。它适用于W3C(WWW Consortium)的工作。许多内容可能适用于HTML,但必须进行验证才能通过Web浏览器进行更仔细的识别。您甚至可以在开头和结尾省略<html></html>标记,但根本不建议使用,没有人这样做,并且它被视为“错误代码”。

因此,将它们放在引号中更有效。

答案 4 :(得分:1)

  

未引用属性值语法

     

属性名称,后跟零个或多个空格字符,后跟一个U + 003D等于符号字符,后跟零个或多个空格字符,后跟属性值,除了上面给出的要求之外属性值,不得包含任何文字空格字符,任何U + 0022引号字符(“),U + 0027撇号字符('),U + 003D等于符号字符(=),U + 003C小于符号字符( <),U + 003E大于符号的字符(>)或U + 0060 GRAVE ACCENT字符(`),并且不得为空字符串。

     

— W3 HTML5 Specification - sec 8.1.2.3. Attributes

答案 5 :(得分:0)

不是两个都是一样的..

在HTML 5中,属性的引用只是可选。

但我觉得将它们封装在行情中是一种更好的做法..