我是说用html+css+js写出类似elementui单选框的样式
时间: 2023-10-29 13:06:36 浏览: 90
好的,我会为您提供相关的帮助和答案。您可以使用 CSS 样式表来模拟 ElementUI 单选框的样式,具体的代码实现如下:
HTML 代码:
```html
<label>
<input type="radio" name="radio-group" value="option-1">
<span class="checkmark"></span>
Option 1
</label>
<label>
<input type="radio" name="radio-group" value="option-2">
<span class="checkmark"></span>
Option 2
</label>
```
CSS 代码:
```css
label {
position: relative;
display: inline-block;
margin-right: 10px;
}
input[type="radio"] {
display: none;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: #ffffff;
border: 1px solid #cccccc;
border-radius: 50%;
}
label:hover .checkmark {
background-color: #f2f2f2;
}
input:checked + .checkmark {
background-color: #265dff;
}
input:checked + .checkmark::after {
content: "";
position: absolute;
display: block;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #ffffff;
}
```
通过以上代码,您可以实现类似 ElementUI 单选框的样式,其中 `input` 元素的 `display` 属性被设置为 `none`,是为了隐藏默认的单选框样式,然后使用 `label` 元素作为显示自定义单选框样式的容器。在 `label` 元素内部,使用一个 `span` 元素充当选中状态的圆圈样式,并绑定样式类 `.checkmark`。使用 `:hover` 和 `:checked` 选择器,分别设置鼠标悬浮和选中状态下圆圈的背景色,并在选中状态下,为充当选中状态的圆圈样式的 `span` 元素添加伪元素 `::after`,充当选中状态的打勾样式。
阅读全文