前言:

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

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兼容性一样了。

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

纯CSS样式实现数字加减按钮的最佳方案的更多相关文章

  1. 购物车数字加减按钮HTML+CSS+JS(有需要嫌麻烦的小伙伴拿走不谢)

    之前在写详情页的时候,如下图 因为自己嫌麻烦,就去看其他网站是怎么写的,想直接拿来用,后来看来看去觉得写得很麻烦,于是最后还是决定自己写,附上HTML+CSS+JS代码,一条龙一站式贴心服务2333 ...

  2. 小巧实用的数字加减插件(jquery插件)

    2015-12-04 近期项目需要,我将插件更新了,增加了两个参数,一个参数控制文本框是否支持输入,另一个参数则是新增了一个回调函数,返回文本框内的值.另外对代码局部重构了,优化了一下封装,需要的朋友 ...

  3. Android 自定义控件 EditText输入框两边加减按钮Button

    自己封装的一个控件:EditText两边放加减按钮Button来控制输入框的数值 Demo 下载地址: 第一版:http://download.csdn.net/detail/zjjne/674086 ...

  4. jQuery数字加减插件

    jQuery数字加减插件 我们在网上购物提交订单时,在网页上一般会有一个选择数量的控件,要求买家选择购买商品的件数,开发者会把该控件做成可以通过点击实现加减等微调操作,当然也可以直接输入数字件数.本文 ...

  5. JS生成数字加减乘法验证码

    给大家分享一个简单的js验证码生成代码 PS:该代码依赖Jquery1.4版本以上 传入元素 如productionVerificationCode(#\(("a")) 反回验证码 ...

  6. MySQL中大数字加减,不产生千位符和科学计数

    mysql数字加减科学计数法 这两天因为需求,需要获取一张表的流水号.规则是这样的.当前日期+8位流水号.比如:2015062400000001,2015062400000002,2015062400 ...

  7. 简单的纯css重置input单选多选按钮的样式--利用伪类

    由于input单选多选的原生样式通常都不符合需求,所以在实现功能时通常都需要美化按钮 html <input type="radio" /> <input typ ...

  8. 微信小程序——购物车数字加减

    上一篇,我们有讲到如何造一个购物车弹层.今天来说一下,购物车数量的加减如何实现. 主要思路就是在data里面定义一个属性,属性值就是这个数量.点击+的时候就+1,点击-的时候就-1,再结合setDat ...

  9. 4. 纯 CSS 创作一个金属光泽 3D 按钮特效

    原文地址:https://segmentfault.com/a/1190000014599280 HTML代码: <div class="box">BUTTON< ...

随机推荐

  1. 【Docker】docker安装Jenkins

    一.下载镜像 docker pull jenkinsci/jenkins 二.运行Jenkins容器 docker run --name myjenkins -d -p 8580:8080 -p 50 ...

  2. gps示例代码

    /* main.c */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #incl ...

  3. vmware下ubuntu虚拟机如何安装vmware tools

      依次点击-->虚拟机-->安装VMware Tools   窗口下方会弹出安装提示   系统会加载安装驱动至光盘 双击--VMwareTools-****.tar.gz--的压缩包   ...

  4. SQL进阶系列之8EXISTS谓词的用法

    写在前面 支撑SQL和关系数据库的基础理论:数学领域的集合论和逻辑学标准体系的谓词逻辑 理论篇 什么是谓词?谓词是返回值为真值(true false unknown)的函数 关系数据库里,每一个行数据 ...

  5. jni接口

    https://www.jianshu.com/p/d4a502420a89 #pragma once /*DO NOT EDIT THIS FILE - it is machine generate ...

  6. Ubuntu 14.04.2升级openssh7.9

    环境:Ubuntu 14.04.2 目的:openssh版本6.6升级为openssh7.9 准备以下3个包 http://www.zlib.net/ https://www.openssl.org/ ...

  7. MYECLIPSE说明书

    0. 快捷键================================================================================编辑:Ctrl+Shift+ ...

  8. c++中关联容器map的使用

    C++关联容器<map>简单总结(转) 补充: 使用count,返回的是被查找元素的个数.如果有,返回1:否则,返回0.注意,map中不存在相同元素,所以返回值只能是1或0. 使用find ...

  9. 前端知识-控制div标签的显示与隐藏

    //将附件信息列表进行隐藏 var tAppendixDiv = document.getElementById("AppendixDiv"); tAppendixDiv.styl ...

  10. 导出服务器Oracle数据库为dmp文件

    本文链接:https://blog.csdn.net/rensheng_ruxi/article/details/79877267一.前提:本机安装有Oracle客户端,并且是正确安装. 二.导出Or ...