我可以为grid-template-rows / grid-template-columns使用数字值吗?

时间:2018-04-30 16:41:08

标签: javascript css css3 css-grid

我以编程方式创建一个包含数据行和列的网格。

但是,当数据是数字(例如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中显示空白结果。

1 个答案:

答案 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