基于当前值动态更改css样式

基于当前值动态更改css样式,css,Css,我想知道,是否有一种方法可以根据当前的css值更改css值 例如,如果我想将值从100更改为90,我必须这样做: .test{ margin-top:100px; } .test:hover{ margin-top:90px; } 但是,有没有可能这样做,并产生同样的效果 .test{ margin-top:100px; } .test:hover{ margin-top:(-10px); } 提前谢谢,我希望我的问题说得很清楚 顺便说一句:我不是在寻找一个J

我想知道,是否有一种方法可以根据当前的css值更改css值

例如,如果我想将值从100更改为90,我必须这样做:

.test{
    margin-top:100px;
}
.test:hover{
    margin-top:90px;
}
但是,有没有可能这样做,并产生同样的效果

.test{
    margin-top:100px;
}
.test:hover{
    margin-top:(-10px);
}
提前谢谢,我希望我的问题说得很清楚


顺便说一句:我不是在寻找一个JavaScript解决方案,因为我已经知道如何做到这一点,我只是想知道,目前仅使用CSS是否可行,不,单独使用CSS不能做到这一点,因为它不是一种动态语言

当支持/发布时,我想您可以做类似的事情

下面是一个例子:

-示例8


一个{var foo:10px;}
两个{var-bar:calc(var(foo)+10px);}
三个{var foo:calc(var(bar)+10px);}
同时,我建议研究或。

当你说“动态”时,你的意思是基于一个不一定提前知道的值吗?您的示例暗示这只是为了方便起见,以避免需要更新两个单独的值。。。但是,如果您实际上需要在运行时调整它,而事先不知道原始值是什么,那么这将变得更加复杂。
<one><two><three /></two></one>
one   { var-foo: 10px; }
two   { var-bar: calc(var(foo) + 10px); }
three { var-foo: calc(var(bar) + 10px); }