用于计算外部作用域中的变量时,CSS作用域定制属性被忽略
我试图通过var
自定义属性来缩放大小,这种方式可以在没有耦合的情况下构成类。期望的效果是3个列表将是3个不同的比例,但是如CodePen所示,所有3个列表都是相同的比例。我正在寻找范围的解释和CSS自定义属性技术,可以使用可组合的松散耦合代码实现这一点。
:root { --size-1: calc(1 * var(--scale, 1) * 1rem); --size-2: calc(2 * var(--scale, 1) * 1rem); --size-3: calc(3 * var(--scale, 1) * 1rem);}.size-1 { font-size: var(--size-1) }.size-2 { font-size: var(--size-2) }.size-3 { font-size: var(--size-3) }.scale-1x { --scale: 1 }.scale-2x { --scale: 2 }.scale-3x { --scale: 3 }html { font: 1em sans-serif; background: papayawhip;}ol { float: left; list-style: none; margin: 1rem;}
<ol class="scale-1x"> <li class="size-1">size 1</li> <li class="size-2">size 2</li> <li class="size-3">size 3</li></ol><ol class="scale-2x"> <li class="size-1">size 1</li> <li class="size-2">size 2</li> <li class="size-3">size 3</li></ol><ol class="scale-3x"> <li class="size-1">size 1</li> <li class="size-2">size 2</li> <li class="size-3">size 3</li></ol>
当年话下
叮当猫咪