有没有一种方法可以使用CSS属性作为值?

4
我的意思是,有没有一种方法可以做到这样:
width: 92%;
left: (100-width)/2;

所以我可以通过“left”来改变宽度而不用担心吗?
注意:我不想了解其他居中的方法,比如使用margins=auto,我只想知道是否可以将CSS属性用作其他属性的值。谢谢!:)
4个回答

6

纯CSS中没有这个功能。

但是像LESS这样的CSS预处理器提供了这个功能。


LESS看起来真的很棒!它添加了CSS语言中非常缺失的所有功能!为参考文献加1分 :-) - Bojangles
+1 谢谢!现在的疑问是:我能在 XUL 中使用它吗 - The Student
@Tom,我不确定我理解了吗?LESS是一个预处理器,您必须在使用样式表之前运行一个小程序。最终结果是普通的CSS,应该可以在任何地方使用。 - Pekka
啊,好的..所以,通过我的示例中这两行代码,将文件保存为test.less并在命令行中运行less test.less,它只是像vim编辑器打开文件一样打开。我正在阅读如何解决它的问题。 - The Student
文档中介绍了lessc,但是我在Ubuntu的apt-get中只发现了less - The Student
"less" 是另一种东西,它是 UNIX 系统上的文本分页器。CSS 编译器被特别命名为 lessc 的原因可能是为了避免名称冲突。 - Luis Machuca

3

@Tom,是的;我也对这些可能性感到兴奋!=) - David Thomas
有趣!没听说过这些。+1 - Pekka
@Pekka,它们听起来很有趣,不是吗?=)但是,我几乎害怕处理浏览器实现的前景... =/ - David Thomas
是的,它们听起来很有趣!尽管肯定需要几年时间才能考虑使用它们。 - Pekka

1

除非您动态生成CSS本身,否则没有其他方法, 例如使用此方法

此外,一些浏览器对CSS变量提供一些支持,但据我所知,无法对它们进行计算。


0
据我所知:不行
编辑:
你可以使用DOM从JavaScript中实现,例如: object.style.left = (100 - object.style.width) / 2 但是,你需要不时地调用这段代码,我认为这不是你想要的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接