利用css3修改input[type=radio]样式

利用css3修改input[type=radio]样式
做项目的时候需要使用单选按钮input[type=radio],但是默认的样式与UI设计不一致,所以需要修改默认的样式,如下图。搜索的时候发现有一些实现是利用背景图实现。不想使用图片,所以利用css3的重新实现了一遍。在ie8下无效。
这里写图片描述

原理
利用

实现代码

HTML如下
<form>
    <div>
        <input id="item1" type="radio" name="item" value="选项一" checked>
        <label for="item1"></label>
        <span>选项一</span>
    </div>
    <div>
        <input id="item2" type="radio" name="item" value="选项二">
        <label for="item2"></label>
        <span>选项二</span>
    </div>
</form>
CSS如下
 div {
            position: relative;
            line-height: 30px;
        }

        input[type="radio"] {
            width: 20px;
            height: 20px;
            opacity: 0;
        }

        label {
            position: absolute;
            left: 5px;
            top: 3px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            border: 1px solid #999;
        }

        /*设置选中的input的样式*/
        /* + 是兄弟选择器,获取选中后的label元素*/
        input:checked+label { 
            background-color: #fe6d32;
            border: 1px solid #fe6d32;
        }

        input:checked+label::after {
            position: absolute;
            content: "";
            width: 5px;
            height: 10px;
            top: 3px;
            left: 6px;
            border: 2px solid #fff;
            border-top: none;
            border-left: none;
            transform: rotate(45deg)
        }

dome
链接:http://runjs.cn/code/hmevb9gs

感谢分享https://segmentfault.com/a/1190000009451568

猜你喜欢

转载自blog.csdn.net/qq_32963841/article/details/81737563