纯css3美化单独的checkbox、radio默认样式

1.效果展示

在这里插入图片描述

2.实现步骤

  1. 隐藏默认的样式
-webkit-appearance: none;
appearance: none;
outline: none;
  1. css3的对号样式
content: "\2713";
  1. 选中的css放到after选择器
input[type=checkbox]:checked::after

3.全部实现代码 (直接复制到xxx.html就能看到效果)

<html>
<head>
    <style>
        label { /*flex布局让子元素水平垂直居中*/
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        input[type=checkbox],input[type=radio] {
            -webkit-appearance: none;
            appearance: none;
            outline: none;
            width: 12px;
            height: 12px;
            cursor: pointer;
            vertical-align: center;
            background: #fff;
            border: 1px solid #ccc;
            position: relative;
        }

        input[type=checkbox]:checked::after {
            content: "\2713";
            display: block;
            position: absolute;
            top: -1px;
            left: -1px;
            right: 0;
            bottom: 0;
            width: 10px;
            height: 10px;
            line-height: 10px;
            border: 1px solid #ddd;
            color: red;
            font-size: 12px;
        }
        input[type=radio]:checked::after {
            content: "";
            display: block;
            position: absolute;
            top: 2px;
            left: 2px;
            right: 0;
            bottom: 0;
            width: 6px;
            height: 6px;
            background-color: red;
        }
        input[type=radio], input[type=radio]:checked::after {
            border-radius: 50%;
        }
    </style>
</head>
<body>
<label><input type="checkbox" />1111</label>
<label><input type="checkbox" />222</label>
<label><input type="radio" name="test"/>aaa</label>
<label><input type="radio" name="test"/>bbb</label>
</body>
</html>
发布了88 篇原创文章 · 获赞 3 · 访问量 4227

猜你喜欢

转载自blog.csdn.net/weixin_43691098/article/details/103781786