Javascript 我可以为网格模板行/网格模板列使用数字值吗?
我正在通过编程创建一个包含数据行和列的网格 但是,当数据为数字(例如0900)时,无法在元素上设置样式 这是因为数字不能使用,还是一个错误 代码示例:Javascript 我可以为网格模板行/网格模板列使用数字值吗?,javascript,css,css-grid,Javascript,Css,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.styl
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
根据此语法的规则,
“表示任何有效的CSS标识符,这些标识符不会被误解为该属性的值定义中的预定义关键字”2
上述短语中的关键术语是“任何有效的CSS标识符”。那么什么是有效的CSS标识符呢
答案如下:
在CSS中,标识符(包括中的元素名、类和ID)
选择器)只能包含字符[a-zA-Z0-9]和ISO 10646
字符U+0080及以上,加上连字符(-)和下划线
(_); 它们不能以数字、两个连字符或后跟一个连字符开头
一位数
请注意以下部分:它们不能以数字开头…
规范参考: 1 CSS网格布局模块级别1 2 CSS值和单位模块3级
3 CSS Level 2 Revision 2(CSS 2.2),我认为不能在第一个位置使用数字,因为它将假定实际的数值,而不是名称。然后,它会将此值解析为没有单位,从而使列表不正确。如果所有其他操作都失败,则始终可以使用您选择的字符串作为数字的前缀