实现单选框选中效果

0 阅读1分钟

UI给的图有一个单选框选中效果,一开始有些蒙,查了资料实现了,记录一下,其实不难奥

图片.png

在文字前使用一个空的div,使用border画出一个圆圈,再用伪元素利用定位在圆圈中心画一个实心圆,外面的背景给一个transparent,里面给一个你想要的颜色,初始状态利用transform:scale(0),使点不可见,加上类名active后显示出来即可,具体代码如下:

<div class="circle" id="circle" [class.active]="regionMapIfy.activeItem === item"></div> <div>高新区</div>

 .circle {

    height: 12px;
    
    width: 12px;

    border-radius: 50%;

    background-color: transparent;

    border: 1px solid #00F6FFFF;

    display: inline-block;

    position: relative;

    cursor: pointer;

    margin: 0 10px;

}


.circle::after {

    content: '';

    position: absolute;

    top: 50%;

    left: 50%;

    width: 6px; /* 点的大小 */

    height: 6px; /* 点的大小 */

    background-color: #00F6FFFF; /* 点的颜色 */

    border-radius: 50%;

    transform: translate(-50%, -50%) scale(0); /* 初始状态,点不可见 */

    transition: transform 0.3s ease; /* 动画效果 */

}


.circle.active::after {

    transform: translate(-50%, -50%) scale(1); /* 选中时点可见 */

}