CSS标识符可以以两个连字符开头吗?

CSS标识符可以以两个连字符开头吗?,第1张

CSS标识符可以以两个连字符开头吗?

标准

实际上,CSS语法模块中的更改现在允许标识符以两个连字符开头:

4.3.9。 检查三个代码点是否会以一个标识符开头

看一下第一个代码点:

  • U + 002D减号

如果第二个代码点是名称-开始代码点 或U + 002D HYPHEN-MINUS
,或者第二个和第三个代码点是有效的转义符,则返回true。否则,返回false。

更改中也对此进行了描述:

11.1。 与2014年2月20日候选推荐书相比的变化

  • 更改类似ident的标记的定义,以允许“-”启动一个ident。

在www风格中,…让我们更改建议的语法线程以更改CSS Variables的语法:

Tab Atkins Jr. 建议将“自定义属性”的语法更改为“以下划线开头/包含下划线的任何标识”。
克里斯·埃普斯坦(Chris Eppstein)不同意,因为这_property是常见的IE6黑客。
布赖恩•卡德尔( Brian Kardell)提议–。
扎克·温伯格(Zack Weinberg)警告:

不幸的是,“-”需要更改语法。IDENT不允许以两个破折号开头。

对于应该做什么进行了长时间的讨论。

Tab Atkins Jr. 告知他们决定使用–前缀来指示定制属性和其他定制事物。
于是第二天,他COMMITED CSS语法到GitHub上的变化(他是规范的编辑器)。

实作
火狐浏览器

Firefox允许标识符–从Nightly 31 2014-04-03(pushlog)开始。该行为已在错误985838中更改:

错误985838- var-将CSS变量的前缀更改为–

最近决定对CSS变量规范进行的更改:

  • 自定义属性的前缀从更改var-为–
  • 在其中,var()您使用完整的自定义属性名称(即带有–前缀)
    –允许仅包含前缀的自定义属性
    CSS解析器中的idents现在允许诸如–和–0
    更改降落在Firefox 31.0上。从那时起,[id=–]作品。

但是,#–即使在最新的Nightly 41上也无法使用。为了解决该问题,我提交了错误1175192。

Chrome

Chromium构建了一个新的CSS解析器:

现在,我们允许身份以 –

它被运在此承诺,这是一部分这一commitlist,这是在推出这一承诺。因此,它最终在build 44.0.2370.0 325166中实现(自325152起,推送日志)。

从那时起,Chromium允许[id=–]和#–。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5567072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存