在HTML元素属性的`=`符号之前和之后使用空格

时间:2010-08-23 20:44:39

标签: html coding-style

我想知道当你把它写下来时,在HTML页面中等号之前和之后有一个“最好”的方法。似乎没有人使用它,但对我来说,编程语言似乎很自然地以其基本代码风格打印出来。那么,你有什么标准在HTML元素属性的等号之前和之后使用空格?

5 个答案:

答案 0 :(得分:26)

在属性名称及其值之间没有空格分隔符实际上提高了可读性,因为它在视觉上显示了它们之间的耦合。这是一个例子。

没有空格分隔符:

<link rel="stylesheet" type="text/css" href="/css/screen-iphone.css" title="My Site" media="only screen and (max-device-width: 480px)" />

空间定界符:

<link rel = "stylesheet" type = "text/css" href = "/css/screen-iphone.css" title = "My Site" media = "only screen and (max-device-width: 480px)" />

答案 1 :(得分:8)

按照标准,我认为这不重要。但是,我认为额外的空格会使代码看起来混乱。

<link rel="stylesheet" type="text/css" href="overall.css" />

看起来更像是带有名称/值对的标记,而不是

<link rel = "stylesheet" type = "text/css" href = "overall.css" />

看起来更像是一串令牌给我。

我认为这主要来自于属性本身是以空格分隔的事实;值的结尾和属性的开头由空格分隔,因此任何额外的空格只会混淆事物。

答案 2 :(得分:6)

我不想在前后使用空格,每个属性节省2个字节。可以快速加起来500个属性= 1K(其中1K = 1000字节而不是1024!)

答案 3 :(得分:3)

要根据HTML5规范专门回答您的问题,没有标准声明您在分配属性时不使用空格围绕等号。

从技术上讲,无论使用不带引号,单引号还是双引号属性值,您都可以在等号的任意一侧使用零或更多空格。但是,根据您使用不同字符的那些不允许使用值。

是否建议通过约定(而不是标准)这样做,其余答案已经涵盖。

From the HTML5 spec

  

不带引号的属性值语法
  属性名称,后跟零个或多个空格字符,后跟单个U + 003D EQUALS SIGN字符,后跟零个或多个空格字符,后跟属性值,除了上面给出的属性值要求之外,不得包含任何文字空格字符,任何U + 0022 QUOTATION MARK字符(&#34;),U + 0027 APOSTROPHE字符(&#39;),U + 003D EQUALS SIGN字符(=),U + 003C LESS-THAN SIGN字符(&lt;),U + 003E GREATER-THAN SIGN字符(&gt;)或U + 0060 GRAVE ACCENT字符(`),不能是空字符串。

  

如果使用不带引号的属性语法的属性后跟另一个属性或上面的开始标记语法的步骤6中允许的可选U + 002F SOLIDUS字符(/),那么必须有一个空格字符分隔2。

     

单引号属性值语法
  属性名称,后跟零个或多个空格字符,后跟一个U + 003D EQUALS SIGN字符,后跟零个或多个空格字符,后跟一个U + 0027 APOSTROPHE字符(&#39;),然后是属性值,除了上面给出的属性值的要求之外,不得包含任何文字U + 0027 APOSTROPHE字符(&#39;),最后是第二个单个U + 0027 APOSTROPHE字符(&#39; )。

  

如果使用单引号属性语法的属性后跟另一个属性,则必须有一个空格字符将两者分开。

     

双引号属性值语法
  属性名称,后跟零个或多个空格字符,后跟单个U + 003D EQUALS SIGN字符,后跟零个或多个空格字符,后跟单个U + 0022 QUOTATION MARK字符(&#34;),然后是属性值,除了上面给出的属性值的要求之外,不得包含任何文字U + 0022 QUOTATION MARK字符(&#34;),最后是第二个单个U + 0022 QUOTATION MARK字符(& #34;。)

答案 4 :(得分:2)

没有人使用间隔样式只是因为当它们靠近时,眼睛更容易拿起属性值对。等号,引号和属性总是在左边,右边的值是足够清晰的视觉分隔符的事实,添加空格会破坏这种效果并为文件添加不必要的字节。

我建议你不要添加空格,但也许可以使用带有HTML代码突出显示的编辑器(Notepad ++可以解决问题,但我强烈建议你使用真正的编辑器,如Aptana Studio独立或插件{{{ 3}})。