zoukankan      html  css  js  c++  java
  • 美化input type=range标签滑动样式(带渐变效果)

    input原来的样式就不在此赘述了:

    下面看一下实际项目中用到的input输入框,同步绑定输入数据,实现输入框双向绑定(实际项目中使用的是vue框架):

    html部分:

    
    
    <div class="inputRatio">
    滑动条:<input type="range"  name="ratio" :value="parseInt(ratio)" @input="ratio=$event.target.value"  :style="{background:'linear-gradient(to right, #059CFA, #ebeff4 ' + ratio + '%, #ebeff4)'}"/>
    //这里通过渐变来改变滑动轨迹的样式,下面有补充渐变的简单示例
    输入框:<
    input type="text" maxlength="3" onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');this.value=this.value>100?100:this.value;" v-model="ratio" />%

    </div>

    样式优化:

    /*实际项目中1rem=14px*/
    .inputRatio input {
        width: 42.86rem;
        display: inline-block;
        height: 0.86rem;
        line-height: 1.92rem;
    }
    
    .inputRatio input:last-child {
        width: 3.57rem;
        height: 2.14rem;
        margin: 0 0.24rem 0 2rem;
        color: #66b4fe;
        font-size: 1.28rem;
        text-align: center;
        background-color: #EEEEEE;
    }
    
    .inputRatio input[type="range"] {
        background-color: #EEEEEE;
        border-radius: 0.48rem;
        -webkit-appearance: none;
    }
    /*这是滑动按钮的样式*/
    .inputRatio input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        cursor: default;
        height: 1.92rem;
        width: 1.92rem;
        transform: translateY(0px);
        background: none repeat scroll 0 0 #66b4fe;
        border-radius: 0.96rem;
    }
    
    .inputRatio input[type='range']:focus {
        outline: none;
    }

     最后的效果:

    另:补充linear-gradient()用法示例

    css部分:

    
    width: 200px;
    height: 100px;
    margin-top: 10px;
    border: 1px solid #ddd;
    }
    .test {
    background: linear-gradient(#fff, #333);
    }
    .test2 {
    background: linear-gradient(#000, #f00 50%, #090);
    }
    .test3 {
    background: linear-gradient(0deg, #000 20%, #f00 50%, #090 80%);
    }
    .test4 {
    background: linear-gradient(45deg, #000, #f00 50%, #090);
    }
    .test5 {
    background: linear-gradient(to top right, #000, #f00 50%, #090);
    }

    html部分:

    <div class="test"></div>
    <div class="test2"></div>
    <div class="test3"></div>
    <div class="test4"></div>
    <div class="test5"></div>

    输出效果:

     

    注:本文为原创,如需转载请注明出处http://www.cnblogs.com/hubgit/p/8949847.html ,谢谢!

  • 相关阅读:
    JVM调优--常用JVM监控工具使用
    jvm启动常用参数配置
    公钥和私钥原理
    tcp三次握手四次挥手
    内存泄漏和内存溢出
    hashmap解析
    Visual C++ 6.0 断点调试记录
    C++中输入一组不确定长度的数
    异或
    NULL与nullptr
  • 原文地址:https://www.cnblogs.com/hubgit/p/8949847.html
Copyright © 2011-2022 走看看