CSS可以将字符串转换为整数吗?

CSS可以将字符串转换为整数吗?,css,pseudo-class,custom-data-attribute,Css,Pseudo Class,Custom Data Attribute,我使用attr(数据宽度)从一些列表项中获取数据宽度-属性。我尝试使用这些值来设置该元素的宽度 问题是css不能将字符串作为宽度/高度-值处理。 e、 g: /*不行*/ 福{ 宽度:attr(数据宽度) } 因此,我需要将data-属性中的值转换为整数(+单位) 这是可能的吗?没有预编译器和SASS/SCSS混入是不可能的。并且您不能将attr(…)构造用作普通属性的值,而只能用于内容属性的值 您可以只使用样式属性,而不是数据宽度属性。不理想,但比使用数据-*属性来携带样式信息更符合逻辑。

我使用
attr(数据宽度)
从一些
列表项
中获取
数据宽度
-属性。我尝试使用这些值来设置该元素的宽度

问题是css不能将字符串作为
宽度
/
高度
-值处理。 e、 g:


/*不行*/
福{
宽度:attr(数据宽度)
}
因此,我需要将
data
-属性中的值转换为整数(+单位)


这是可能的吗?

没有预编译器和SASS/SCSS混入是不可能的。并且您不能将
attr(…)
构造用作普通属性的值,而只能用于
内容
属性的值


您可以只使用
样式
属性,而不是
数据宽度
属性。不理想,但比使用
数据-*
属性来携带样式信息更符合逻辑。

我认为这不可行:预处理器首先生成CSS,只有编译后的CSS才会发送到浏览器。他们无法从DOM中获取信息并将其转换为整数,CSS本机不具备这种能力。小提琴没有任何意义,因为没有使元素可见的内容:。如您所见,元素并没有一直延伸到文档的边缘。@cimmanon只需在my fiddle;中将
attr(数据宽度)
替换为
100%
)@佩哈埽 这只是一个使用SCSS作为预处理器的简单测试,很高兴知道。谢谢~5年来接受你的回答。。。我真丢脸!绝对不是复制品。被错误欺骗的问题如此频繁地发生。例如,通过转换为。不仅attr()可以生成字符串值,还可以生成counter()函数。和attr()现在接受一个新参数来转换其类型。所以这个问题远远不是那个问题的重复。
<foo data-width='100%'></foo>

/* can not work */
foo {
    width: attr(data-width)
}