是否可以从其他css规则引用css属性?
我发现很多几年前的答案都是“不”。但是,情况有变吗?例如,现在是否可以这样做:是否可以从其他css规则引用css属性?,css,Css,我发现很多几年前的答案都是“不”。但是,情况有变吗?例如,现在是否可以这样做: #property1 { height: 100px } #property2 { height: calc(#property1.height + 50px) } 我知道我可以用jquery实现这一点,但是否可以只在css中实现这一点?不,这在简单的css中是不可能的,但您可以用更少的时间实现这一点: @size: 100px; #property1 { height: @size; } #
#property1 {
height: 100px
}
#property2 {
height: calc(#property1.height + 50px)
}
我知道我可以用jquery实现这一点,但是否可以只在css中实现这一点?不,这在简单的css中是不可能的,但您可以用更少的时间实现这一点:
@size: 100px;
#property1 {
height: @size;
}
#property2 {
height: @size + 50px;
}
要了解更多信息。不,这在简单的css中是不可能的,但您可以用更少的时间完成类似的操作:
@size: 100px;
#property1 {
height: @size;
}
#property2 {
height: @size + 50px;
}
要了解更多信息。不需要纯css,但您可以使用诸如sass或更少的预处理器 下面是一个写在sass上的示例:
$height: 100px;
#property1 {
height: $height;
}
#property2 {
height: $height + 50px;
}
注:不要听“更少”的人说话,他们只是错了
不使用纯css,但您可以使用诸如sass或更少的预处理器来实现这一点 下面是一个写在sass上的示例:
$height: 100px;
#property1 {
height: $height;
}
#property2 {
height: $height + 50px;
}
注:不要听“更少”的人说话,他们只是错了
是的!
但仅当第二个分区是儿童时
#属性1{
高度:100px;
宽度:320px;
背景:红色
}
#物业2{
高度:计算(100%+50px);
宽度:100%;
背景:绿色
}
是!
但仅当第二个分区是儿童时
#属性1{
高度:100px;
宽度:320px;
背景:红色
}
#物业2{
高度:计算(100%+50px);
宽度:100%;
背景:绿色
}
未来是。。。快到了
正如其他人所建议的,可以使用预处理器来实现这一点。然而,如果你是那种在通宵阅读规范草案的同时生活在前沿的人,那么你会对drumroll CSS变量感到兴奋
去,看看这里:
()
令人惊叹的是,有一个例子与你的问题相似
one { --foo: 10px; }
two { --bar: calc(var(--foo) + 10px); }
three { --foo: calc(var(--bar) + 10px); }
很好,对吧
好吧,坏消息是…不幸的是,支持是,好吧,可怕的
但是,在将来(祈祷好运),我们将有原生CSS变量 未来是。。。快到了
正如其他人所建议的,可以使用预处理器来实现这一点。然而,如果你是那种在通宵阅读规范草案的同时生活在前沿的人,那么你会对drumroll CSS变量感到兴奋
去,看看这里:
()
令人惊叹的是,有一个例子与你的问题相似
one { --foo: 10px; }
two { --bar: calc(var(--foo) + 10px); }
three { --foo: calc(var(--bar) + 10px); }
很好,对吧
好吧,坏消息是…不幸的是,支持是,好吧,可怕的
但是,在将来(祈祷好运),我们将有原生CSS变量 从技术上讲,我认为这是不对的。您正在使用calc函数,该函数对值执行数学运算,但不对引用执行数学运算。你只是在做一个数学运算,但没有变量。无论如何,这是一个聪明的技巧(因为它使用了父对象的宽度)。将只适用于此特定属性(其他也适用于大小)。聪明,但不幸的是只适用于非常有限的情况。技术上,我认为这是不正确的。您正在使用calc函数,该函数对值执行数学运算,但不对引用执行数学运算。你只是在做一个数学运算,但没有变量。无论如何,这是一个聪明的技巧(因为它使用了父对象的宽度)。将仅适用于此特定属性(其他也适用于大小)。聪明,但不幸的是,仅适用于非常有限的情况。