CSS属性不使用空格,那么为什么规则中的第一个空格不是用作属性和值之间的分隔符?
以下是一个例子:
答案 0 :(得分:13)
不确定是否可以给出比“可能避免混淆”更好的答案。
编程和标记语言中的许多元素并非100%有效,有利于提高可读性。我个人觉得
background: red 1px url(images/test.jpg)
比
更清楚background red 1px url(images/test.jpg);
答案 1 :(得分:10)
意外空间比丢失的结肠更容易放入并且更难以发现。
答案 2 :(得分:5)
它更容易使用,它更具语义性,并且如果他们在以后偶然发布规则,它将来会证明。它还使调试更容易。
这只是可用性超过效率的一个例子。
答案 3 :(得分:5)
为什么不删除花括号并让缩进决定结构呢?那将更加清洁。
然而,有时更好的语法不是要删除你能想象到的所有东西,你经常需要保留一些东西来保持语法 clear 。更清晰的语法以更清晰,更隐式的语法更好地表达意图。使用明确的语法来犯错更难,更容易发现错误。
在你的两个例子中,我发现第一个更易于理解,因为键和值明确地分开了。
答案 4 :(得分:3)
正如其他人所说,需要提供一个清晰的语法,它足够灵活,可以选择你的风格(在一行中写规则?写一个键:每行的值等等。)
让我举个例子。你可以这样写:
a {
border: 1px
solid black;
}
如果省略所有语法字符,则会变为:
a {
border 1px
solid black
}
这是不明确的,或者从另一个角度来看,语法过于僵化。
答案 5 :(得分:1)
我愿意打赌,大多数CSS解析器都有一些用C或C ++编写的历史记录,strtok函数用于解析文件,类似于解析C / C ++文件的规则。
其他人已经提到过使用空白分隔符的模糊性。
;是C和CSS
中语法的另一个重要部分答案 6 :(得分:1)
许多语言使用variableName: type
表示法(变量声明,参数声明等)。我看到一个使用variableName type
(也许是Go),我被外表打扰了。即使它是明确的,它“感觉不对”,也许是因为习惯,也许是因为它缺乏“节奏”。英语句子中的标点符号并不总是必要的(有时候是为了避免含糊不清),但缺少它会让读者感到不舒服。眼睛需要找到标记
同义F#(及其母语),只省略函数参数的括号和逗号。看起来很奇怪(但也许有人会沉迷于这种表示法)。
与往常一样,在太多的注释和太少的注释之间存在平衡。在创新和破坏习惯之间......创新很好,但必须有目的。以可读性为代价保存一些击键很少是一个目的。 : - )