zoukankan      html  css  js  c++  java
  • 使用伪类和伪元素改变radio,checkbox的样式

    今天学习了一下百度前端技术学院的课程,感觉很不错

    自定义checkbox, radio样式

    核心要点

    1.不要显示原有样式

    2.充分利用伪元素,让伪元素去显示想要的样式

    3.伪元素的content为''(空字符串)

    4.利用伪类:checked,可大大简化代码,不使用js,即可让伪元素在checked时显示对应的样式

    相关知识点也在以上链接中

    以下附上一个学员的代码,方便拿来主义

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <title></title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            input[type=radio]{
                visibility: hidden;
            }
            input[type=radio]:checked::after{
                background-image: url('./img/sprite.png');
                background-repeat: no-repeat;
                background-position: -59px -10px;
                visibility: visible;
            }
            input[type=radio]::after{
                content: ' ';
                display: block;
                height: 20px;
                width: 20px;
                background-image: url('./img/sprite.png');
                background-repeat: no-repeat;
                background-position: -24px -10px;
                visibility: visible;
            }
            input[type=checkbox]{
                visibility: hidden;
            }
    
            input[type=checkbox]:checked::after{
                background-image: url('./img/sprite.png');
                background-repeat: no-repeat;
                background-position: -60px -31px;
                visibility: visible;
            }
            input[type=checkbox]::after{
                content: '';
                display: block;
                height: 20px;
                width: 20px;
                background-image: url('./img/sprite.png');
                background-repeat: no-repeat;
                background-position: -25px -32px;
                visibility: visible;
            }
    
           
        </style>
    </head>
    
    <body>
        
        <input type="radio" name="sex" id="male" /><label for="male"> Male</label>
        <br />
        <label for="female">Female</label>
        <input type="radio" name="sex" id="female" checked />
        <br>
             <label for="apple">apple</label><input type="checkbox" name="" value="" id="apple"> <br>
            <input type="checkbox" name="" value="" id="coffee" checked > <label for="coffee">coffee</label><br>
            <input type="checkbox" name="" value="" id="orange"> <label for="orange">orange</label>
            
            <p></p>
    </body>
    
    </html>
  • 相关阅读:
    js字符串String常用方法
    flexible.js结合rem实现移动端自适应布局
    Django API验证(令牌)
    错误堆栈信息
    JS Ajax异步请求发送列表数据后面多了[]
    根据后端传的时间前端js进行倒计时
    Vue select 下拉菜单
    centos 6.x 部署uwsgi+flask项目
    css 让背景图片不停旋转
    supervisor管理uwsgi
  • 原文地址:https://www.cnblogs.com/ch459742906/p/7785116.html
Copyright © 2011-2022 走看看