• 自定义input[type="radio"]的样式(支持普通浏览器,IE8以上)


    对于表单,input[type="radio"] 的样式总是不那么友好,在不同的浏览器中表现不一。

    对单选按钮自定义样式,我们以前一直用的脚本来实现,不过现在可以使用新的伪类 :checkbox 来实现。

    如果直接对单选按钮设置样式,那么这个伪类并不实用,因为没有多少样式能够对单选按钮起作用。不过,倒是可以基于单选按钮的勾选状态借助组合选择符来给其他元素设置样式。

    很多时候,无论是为了表单元素统一,还是为了用户体验良好,我们都会选择 label 元素和 input[type="radio"] 一起使用。当<label>元素与单选按钮关联之后,也可以起到触发开关的作用

    思路:

    1. 可以为<label>元素添加生成性内容(伪元素),并基于单选按钮的状态来为其设置样式;

    2. 然后把真正的单选按钮隐藏起来;

    3. 最后把生成内容美化一下。

    解决方法:

    1. 一段简单的结构代码:

    复制代码
    <div class="female">
        <input type="radio" id="female" name="sex" />
        <label for="female">女</label>
    </div>
    <div class="male">                
        <input type="radio" id="male" name="sex" />
        <label for="male">男</label>
    </div>
    复制代码

    2. 生成一个伪元素,作为美化版的单选按钮,先给伪元素添加一些样式:

    复制代码
    input[type="radio"] + label::before {
        content: "a0"; /*不换行空格*/
        display: inline-block;
        vertical-align: middle;
        font-size: 18px;
         1em;
        height: 1em;
        margin-right: .4em;
        border-radius: 50%;
        border: 1px solid #01cd78;
        text-indent: .15em;
        line-height: 1; 
    }
    复制代码

    现在的样子:

    原来的单选按钮仍然可见,但是我们先给单选按钮的勾选状态添加样式:

    3. 给单选按钮的勾选状态添加不同的样式: 

    input[type="radio"]:checked + label::before {
        background-color: #01cd78;
        background-clip: content-box;
        padding: .2em;
    }

    现在的样子: 

    4. 现在把原来的单选按钮隐藏:

    input[type="radio"] {
        position: absolute;
        clip: rect(0, 0, 0, 0);
    }

     现在的样子:

    隐藏原来的单选按钮时,如果使用 display: none; 的话,那样会把它从键盘 tab 键切换焦点的队列中完全删除。

    于是可采用剪切的方式,让剪切后的尺寸为零,这样就隐藏了原来的单选按钮。

    原文地址:https://www.cnblogs.com/xinjie-just/p/5911086.html

  • 相关阅读:
    Ubuntu下安装 jdk6
    开发内容分解的9个角度
    2020年,为什么我们应该使用abapGit代替SAPLink
    如何禁用IntelliJ IDEA的LightEdit模式
    通过AMDP调用HANA的PAL函数
    用Python开发的Wox股票插件
    概念验证:在Kubernetes中部署ABAP
    使用ABAP Data Validator验证数据有效性
    开源工具abaplint的介绍
    【被面试官吊打】从系统角度考虑性能优化
  • 原文地址:https://www.cnblogs.com/ertingbo/p/7998188.html
Copyright © 2020-2023  润新知