【发布时间】:2017-03-12 00:04:20
【问题描述】:
随着 css vars 的引入,我想知道 为什么 -- 会被选择作为表示 var 的一种方式的原因。
考虑到 CSS 有一个半功能的 calc 函数,我觉得 -- 很容易与其他语言的减量运算符混淆。
我很好奇是否有任何历史意义或技术限制导致选择--。当 CSS 标记通常是单数(#、.、@ 等)时,双数尤其让我感到困惑。使用已经被其他事物使用的符号也很有趣(特别是当它对以-- 开头的类名有效时)。
示例:
@custom-media --lt-sm (width < 576px);
--grey300: #e0e0e0;
.navbarItem {
display: inline-block;
text-align: center;
border-top: 1px solid var(--grey300);
border-left: 1px solid var(--grey300);
@media (--lt-sm) {
flex-grow: 1;
}
&:last-child {
border-right: 1px solid var(--grey300);
}
}
免责声明
有些人可能会争论这个问题的有效性,但理解为什么是记住特定概念的关键技术。
我能找到的唯一相关讨论:
在今天的电话会议上,我们决定使用“--”前缀来表示 自定义属性和其他自定义内容。
我们讨论了前缀是保留还是删除时 从 var() 函数中引用自定义属性,但没有 实际解决。通话中的讨论倾向于放弃 前缀,就像我目前使用 var-* 属性所做的那样,但有些方面 与 Simon 和 Sylvain 的讨论主张使用全名,因为 有一些令人困惑的情况,例如“--0”或“----”。
所以,虽然我理解作者可能造成的混淆 可能认为 var() 可以将任何属性名称作为 争论,我认为它被对需要什么的困惑所推翻 在各种情况下逃脱。转义规则总是很 让作者感到困惑,所以我将使用“使用自定义属性” 按字面意思命名为 var() 参数”。
参考:
http://lists.w3.org/Archives/Public/www-style/2014Mar/0467.html
【问题讨论】:
-
是的,但您不应该混淆 CSS 和其他语言。当然
--看起来像一个减量运算符,但是与其他语言相比,包含单个-的单词看起来像是减法。所以,CSS 是相当独特的!无论如何,为什么使用两个减号而不是单个字符的问题;也许他们害怕他们的单个字符用完了。其他大多数已经在使用中。 -
独特不开始解释!完全明白你在说什么,我想如果他们考虑用完,为什么不只使用一个
-?我知道可能有几个原因(或没有),但我只是感兴趣是否已经讨论/记录了最终让他们到达那里的推理
标签: css w3c css-variables