我正在做一个单选按钮,出现了一个小问题。对于活动的颜色框阴影,您需要根据背景调整颜色,可以直接使用 css 来完成此操作而不添加新元素吗?有些人现在可能会编写,为背景创建一个变量,然后替换它。好的!假设我这样做了,但是如果我想在不同的背景上使用相同的按钮怎么办,我是否必须一直更改它?狂欢!
body {
background-color: #fff;
}
.list {
display: flex;
gap: 15px;
}
.color {
width: 25px;
height: 25px;
border-radius: 100%;
background-color: red;
cursor: pointer;
}
.color.checked {
box-shadow: inset 0 0 0 2px #fff;
border: 2px solid red;
}
<div class="list">
<div class="color"></div>
<div class="color"></div>
<div class="color checked"></div>
<div class="color"></div>
</div>
为此我会使用
background-image
, 或者更确切地说radial-gradient
.或者创建一个附加的伪元素,该伪元素将大于父元素(按缩进量)并且具有边框。
您可以使用剪切路径在元素上切一个洞,但绘制一个环非常困难。
但如果环是作为一个单独的元件制成的,那么您会因嵌入而出现一个洞。