🧨快过年了,后端的知识点看不进去,又来琢磨css了。本来想写其它效果的,歪打正着搞出来了这个,还是很奇妙的。
效果展示
实现思路
主要是通过兄弟选择器 +
来达到点击时其他视图的变化效果。
其中难点在于如何点击后者,控制之前的兄弟标签(基本上网上给的答案都是不能实现的),但是可以间接通过 :has 和 :not 选择器来配合实现。
以下这段是点击第4张元素,控制第3张元素的css代码(🙄你也可以理解为在第3张元素事先满足这些条件下,会有这种效果)。
.radio-item:nth-child(1):not(.radio:checked) + * + .radio-item:nth-child(3):not(.radio:checked):has(+ .radio-item .radio:checked) .item{
transform: scale(0.5, 1.5);
}
- 控制 ①元素(不是选中)+ ②元素(不是选中)+ ③元素(没有选中)但存在(+ ④元素被选中)时满足以上条件的③元素样式;
- 即便我们不能直接控制之前的元素,但是我们可以事先要求之前的元素满足一定条件,来达到提前预判;