以下代码块之间有什么区别吗?
<iframe src="http://example.com" width=100%></iframe>
<iframe src=http://example.com width="100%"></iframe>
我都试过了,两者似乎都有效,但我问的是以防万一有什么我需要小心的?
除了
否则,仅当属性值包含空格、换行符、Ascii 引号 (")、Ascii 撇号 (')、重音符 (`)、等号 (=)、小于号 (<) 或大于号 (>)。这样style = width:20em
会起作用(尽管它可能看起来有些晦涩),而style = width: 20em
不会——由于空间的原因,你需要写style = "width: 20em"
.
为简单起见,许多人总是在所有属性值周围加上引号。其他人认为引号使代码有点混乱,所以他们尽可能省略它们。
完全独立于此,src="www.example.com"
意味着相对 URL 引用,而不是人们期望的意思。你可能的意思是src="http://www.example.com"
。
不是。。两个是一样的。。
在 HTML 5 中,属性周围的引号是可选的。(除非值有空格或特殊字符)
但我觉得将它们括在引号中是一种更好的做法。
不带引号的属性值语法
属性名称,后跟零个或多个空格字符,后跟单个 U+003D 等号字符,后跟零个或多个空格字符,然后是属性值,除了上述对属性值的要求外,不得包含任何文字空格字符、任何 U+0022 引号字符 (")、U+0027 撇号字符 (')、U+003D 等号字符 (=)、U+003C 小于号字符 (<)、 U+003E GREATER-THAN SIGN 字符 (>) 或 U+0060 GRAVE ACCENT 字符 (`),并且不能是空字符串。
这是来自谷歌 - 最佳实践 - “最小化有效负载大小” https://developers.google.com/speed/docs/best-practices/payload (我的重点)
为确保您的内容压缩良好,请执行以下操作: ... 对 HTML 标记属性使用一致的引号,即始终使用单引号、始终使用双引号或尽可能不使用引号。
这完全是关于 HTML 标记的真正有效性。它是为 W3C(WWW 联盟)工作的。许多事情可能在 HTML 中起作用,但它们必须经过验证才能被 Web 浏览器更仔细地识别。您甚至可以省略开头和结尾的<html>
and标签,但完全不推荐,没有人这样做,它被认为是“坏代码”。</html>
因此,将它们放在引号中更有效。