知识专栏
多方位、多角度、深度解读您所关心的问题

比较注重设计美观的网站建设客户,对于细节是精益求精,比如radio单选框,默认的觉得不好看,想要自定义个性化样式。

既然有需求,那么首先就要问了:可以自定义radio单选框的样式吗?

答案是:可以,只需用css就可以自定义radio单选框的样式。

实施思路:

通过css自定义label的伪类样式,然后将radio本身的样式覆盖。

实施步骤如下:

(1)表单radio单选框代码改造为如下:

<div class="single-form">
    <ul>
        <li><input type="radio" class="form-control-radio" name='info[ljfs]' id="ljfs_1" value="1" checked><label for="ljfs_1">quite satisfied</label></li>
        <li><input type="radio" class="form-control-radio" name='info[ljfs]' id="ljfs_2" value="2"><label for="ljfs_2">satisfaction</label></li>
        <li><input type="radio" class="form-control-radio" name='info[ljfs]' id="ljfs_3" value="3"><label for="ljfs_3">ordinary</label></li>
        <li><input type="radio" class="form-control-radio" name='info[ljfs]' id="ljfs_4" value="4"><label for="ljfs_4">discontent</label></li>
        <li><input type="radio" class="form-control-radio" name='info[ljfs]' id="ljfs_5" value="5"><label for="ljfs_5">very dissatisfied</label></li>
    </ul>
</div>

(2)再加入css样式如下:

.single-form ul li {
    position:relative;
}
.form-control-radio {
    margin-right:20px;
}
input[type="radio"] {
    position: absolute;
 top:6px;
 left:0;
    width: 18px;
    height: 18px;
    clip: rect(0, 0, 0, 0);
}
input[type="radio"]+label::before {
    content: "\a0";
    display: inline-block;
    vertical-align: middle;
    font-size: 18px;
    width: 18px;
    height: 18px;
    margin-right: 20px;
    border-radius: 50%;
    border: 1px solid #C6CFDB;
 background-color: #C6CFDB;
    background-clip: content-box;
    padding: 3px;
}
input[type="radio"]:checked+label::before {
    border: 1px solid #40D6FF;
    background-color: #40D6FF;
    background-clip: content-box;
}

(3)改造后的网页效果如下:

QQ截图20220526182919

猜您还想看: radio 单选框 自定义样式
赞一下
--
踩一脚
--
智能相关阅读

您已成功复制微信号

leishi010

打开微信添加好友?

确定