带/不带引号的HTML属性

两者之间有什么区别吗?

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

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

我已经尝试过两种方法,都似乎工作,但我只是想问一些我需要小心的事情(比如可能是%以外的单位等)


这是关于HTML标记的真实有效性。 这是W3C(WWW联盟)为之工作的原因。 许多事情可能在HTML中起作用,但它们必须经过验证才能被Web浏览器更仔细地识别。 您甚至可以在开始和结束时省略<html></html>标记,但完全不推荐,没有人会这样做,并且将其视为“错误代码”。

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


除了没有实际的区别

  • 如果您验证您的页面,则可能需要或可能不需要使用引号以避免错误消息,具体取决于正在使用的文档类型
  • 如果您向浏览器提供XML内容类型的页面(这很罕见且很少有用),那么需要引号 - 否则页面根本不显示,只是出现错误消息
  • 如果使用XML工具处理页面,则引号是必需的。
  • 否则,仅当属性值包含空格,换行符,Ascii引号(“),Ascii撇号('),重音符号(`),等号(=),小于符号(<)或大于符号(>),所以style = width:20em可以工作(虽然它可能会被认为有些模糊),而style = width: 20em不会 - 由于空间的原因,你需要编写style = "width: 20em"

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

    完全独立于此, src="www.example.com"意味着一个相对的URL引用,而不是人们期望的含义。 你可能意思是src="http://www.example.com"


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

  • 空的属性语法
  • 未加引号的属性值语法
  • 单引号属性值语法
  • 双引号属性值语法
  • 这些实际上适用于HTML5,但是,当提及<HTML5时, W3C称基于所使用的文档类型(例如严格,过渡等)需要引号(单或双)。

    链接地址: http://www.djcxy.com/p/87963.html

    上一篇: HTML attribute with/without quotes

    下一篇: Improve nested foreach performance C#