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

在HTML元素属性的`=`符号前后使用空格,html,coding-style,Html,Coding Style,我想知道当你写下HTML页面时,是否有一种“最好”的方法在等号前后留出一个空格。似乎没有人在使用它,但对我来说,它似乎相当自然地来自于以基本代码样式打印出来的编程语言。那么,是否有任何标准要求您在HTML元素的属性等号前后不使用空格?我不喜欢在属性前后使用空格,每个属性节省2字节。可以快速添加500个属性=1K(其中1K=1000字节不是1024!)根据标准,我认为这无关紧要。但是,我认为额外的空格会使代码看起来杂乱无章 <link rel="stylesheet" type="text/

我想知道当你写下HTML页面时,是否有一种“最好”的方法在等号前后留出一个空格。似乎没有人在使用它,但对我来说,它似乎相当自然地来自于以基本代码样式打印出来的编程语言。那么,是否有任何标准要求您在HTML元素的属性等号前后不使用空格?

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

根据标准,我认为这无关紧要。但是,我认为额外的空格会使代码看起来杂乱无章

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

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

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

在我看来,这更像是一串代币


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

在属性名和属性值之间没有空格分隔符实际上提高了可读性,因为它直观地显示了它们之间的耦合。这里有一个例子

无空格分隔符:

<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)" />

空格分隔符:

<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)" />

没有人仅仅使用间隔样式,因为当它们靠近时,眼睛更容易拾取属性值对。等号、引号以及属性始终位于左侧而右侧的值是一个足够清晰的可视分隔符,添加空格会破坏这种效果,并向文件中添加不必要的字节


我建议您不要添加空格,但可以使用带有HTML代码高亮显示的编辑器(Notepad++可以做到这一点,但我强烈建议您使用真正的编辑器,如独立编辑器或插件编辑器)。

为了具体回答您的问题,请遵循HTML5规范,没有标准规定在指定属性时不使用空格来包围等号

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

无论是否按照惯例(而不是标准)这样做是明智的,其余的答案已经包括在内

:

不带引号的属性值语法
属性名称,后跟零个或多个空格字符,后跟单个U+003D等号字符,后跟零个或多个空格字符,后跟属性值,除上述属性值要求外,属性值不得包含任何文字空格字符、任何U+0022引号字符(“)、U+0027撇号字符(')、U+003D等于符号字符(=)、U+003C小于符号字符()、或U+0060严重重音字符(`),且不得为空字符串

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

单引号属性值语法
属性名称,后跟零个或多个空格字符,后跟单个U+003D等号字符,后跟零个或多个空格字符,后跟单个U+0027撇号字符('),后跟属性值,除上述属性值要求外,属性值不得包含任何文字U+0027撇号字符('),最后后跟第二个单独的U+0027撇号字符(')

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

双引号属性值语法
属性名称,后跟零个或多个空格字符,后跟单个U+003D等号字符,后跟零个或多个空格字符,后跟单个U+0022引号字符(“),后跟属性值,除上述属性值要求外,不得包含任何文字U+0022引号字符(“),最后后跟第二个单U+0022引号字符(“)


好吧,但这不会让你慢下来吗?我敢肯定,无论您使用的是什么应用程序编程语言,即使是javascript或其他语言,您都更可能在赋值前后放置空格等。大多数情况下,我用SQL编写代码,在SQL中我使用空格,因为它不像html中那样使用颜色编码,即使XAML也不使用空格(至少在默认情况下)请注意,任何人或任何事都不要求您在正在工作的web上输入完全相同的代码。特别是对于Javascript,缩小已经成为一种常见的做法——没有什么可以阻止您对HTML进行同样的操作。节省带宽应该在应用程序发布时通过删除不必要的空白来自动完成。回复:速度-这实际上只是适应它的问题。我现在在HTML样式和JavaScript样式之间切换模式相当顺利。事实上,我不得不放慢速度在我的答案中键入额外的空格。遗憾的是,自动语法高亮显示在一定程度上破坏了效果。:)@FranciPenov您可以使用