在element-plus中想要多选框(Checkbox)的功能,但是想要单选框(Radio)的圆形样式如何实现

在element plus中想要多选框(Checkbox)的功能,但是想要单选框(Radio)的圆形样式如何实现

原因

在完成一个业务需求时,需要一个框进行选择或者取消

element plus中的多选框(Checkbox)可以满足这个需求

image-20230907110747941

但是不行,设计稿是根据单选框(Radio)样式出的,下面这个样子

image-20230907110912275

可是这个单选框又不能点击取消选择,还是不满足

想直接改功能,但感觉有点麻烦,所以直接上样式,将多选框方形样式改成圆形!

实现

首先检查组件样式

image-20230907111405771

发现该元素由el-checkbox__inner控制

先将其改成圆形

:deep .el-checkbox__inner {
  border-radius: 50%;
}

:这里的:deep为深度作用选择器,因为我在项目中使用了 scoped 的缘故

然后检查发现中间的对号是after伪元素

image-20230907112238638

这里就很简单了,只要改变after将对号换成圆圈就可以了

加入下面这段样式即可实现

:deep .el-checkbox__inner::after {
  transform: translate(-50%, -50%) scale(1) !important;
  width: 4px;
  height: 4px;
  border-radius: 50% !important;
  background-color: var(--el-color-white);
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transition: transform 0.15s ease-in;
}
题外话

这里可能不会如何画出来,教大家一个偷懒小方法

检查radio的样式,找到其样式的after,复制粘贴

image-20230907112928277
可能还有点不一样,改一下border-radius为50%,完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时雨.`

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值