• 纯CSS样式实现数字加减按钮的最佳方案


    前言:

    对于数字加减按钮的实现,以前用过不少方案,诸如:

    1.使用背景图片——这种效果比较好,缺点是样式控制有点复杂了,还需要使用图片;

    2.直接使用“+”“-”——这种方法简单粗暴,最容易实现,缺点是不同浏览器环境下显示略有不同,符号大小机线条粗细不太好调;

    3.使用unicode字符,这个跟方法2差不多一样的问题,而且兼容性不好,出现过部分手机不显示的问题;

    4.使用css样式,使用标签生成绝对定位的横、竖,然后调整他们的位置,合成加号。缺点就是不同浏览器可能会存在横竖搭配略有错位,这个可以用标签生成两个相同的横,然后其中一个做90度旋转,这样效果会好些;

    对于上边这些,可以说最好的就是第一种使用图片了,虽说有点麻烦,但是效果最好,不用担心兼容性,其他的就不太建议使用了。

    最近发现一种新的方法,就是利用CSS3的 background-image 样式,结合线性渐变 linear-gradient 合成加号,具体实现如下。

    关键代码:

    <a href="javascript:" class="btn btn_plus" role="button" title="增加"></a>
    <input class="inputNum" value="1" size="1">
    <a href="javascript:" class="btn btn_minus" role="button" title="减少"></a>
    .inputNum {
        vertical-align: middle;
        height: 22px;
        border: 1px solid #d0d0d0;
        text-align: center;
    }
    
    .btn {
        display: inline-block;
        vertical-align: middle;
        background: #f0f0f0 no-repeat center;
        border: 1px solid #d0d0d0;
        width: 24px;
        height: 24px;
        border-radius: 2px;
        box-shadow: 0 1px rgba(100, 100, 100, .1);
        color: #666;
        transition: color .2s, background-color .2s;
    }
    
    .btn:active {
        box-shadow: inset 0 1px rgba(100, 100, 100, .1);
    }
    
    .btn:hover {
        background-color: #e9e9e9;
        color: #333;
    }
    
    .btn_plus {
        background-image: linear-gradient(to top, currentColor, currentColor), linear-gradient(to top, currentColor, currentColor);
        background-size: 10px 2px, 2px 10px;
    }
    
    .btn_minus {
        background-image: linear-gradient(to top, currentColor, currentColor);
        background-size: 10px 2px;
    }

    其中,关键样式也就后边加粗的两端,经验证,这种方法兼容性还是比较好的,可以说跟h5/css3兼容性一样了。

    这可谓是目前见过的最简单的实现方法,佩服想到这种用法的这位仁兄。

  • 相关阅读:
    JS自动化测试 单元测试之Qunit
    mybatis注解开发
    @Valid验证
    httpclient发邮件
    mysql慢查询配置(5.7)
    MySQL5.7.21解压版安装详细教程(转)
    spring注解@Import和@ImportResource
    关于properties文件的读取(Java/spring/springmvc/springboot)
    okclient2详细介绍
    @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
  • 原文地址:https://www.cnblogs.com/xyyt/p/10955121.html
Copyright © 2020-2023  润新知