我以编程方式创建一个包含数据行和列的网格。
但是,当数据是数字(例如0900)时,无法在元素上设置样式。
这是因为数字无法使用,还是错误?
代码示例:
this.myElement.style.gridTemplateRows = "[xHeader] 2fr [0900] 1fr [0930] 1fr
[1000] 1fr [1030] 1fr [1100] 1fr [1130] 1fr [1200] 1fr"
然后,检查值:
console.log(this.myElement.style.gridTemplateRows)
。
它在devtools中显示空白结果。
答案 0 :(得分:2)
是的,只要该值不以数字开头。
命名网格线使用<custom-ident>
(自定义标识符)语法 1 。
根据此语法的规则,<custom-ident>
&#34;表示任何有效的CSS标识符,该标识符不会被错误解释为该属性的值定义中的预定义关键字&#34; 2 。
上述短语中的关键术语是&#34;任何有效的CSS标识符&#34; 。什么是有效的CSS标识符?
以下是答案:
在CSS中,标识符(包括元素名称,类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U + 0080和更高,加上连字符( - )和下划线 (_);它们不能以数字,两个连字符或连字符开头 用数字。 3
请注意部分: 他们无法以数字开头......
规格参考:
1 CSS网格布局模块1级,§ 7.2.1 Named Grid Lines。
2 CSS值和单位模块级别3,§ 3.2 Author-defined Identifiers
3 CSS Level 2 Revision 2(CSS 2.2),§ 4.1.3 Characters and case