纯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兼容性一样了。
这可谓是目前见过的最简单的实现方法,佩服想到这种用法的这位仁兄。
纯CSS样式实现数字加减按钮的最佳方案的更多相关文章
- 购物车数字加减按钮HTML+CSS+JS(有需要嫌麻烦的小伙伴拿走不谢)
之前在写详情页的时候,如下图 因为自己嫌麻烦,就去看其他网站是怎么写的,想直接拿来用,后来看来看去觉得写得很麻烦,于是最后还是决定自己写,附上HTML+CSS+JS代码,一条龙一站式贴心服务2333 ...
- 小巧实用的数字加减插件(jquery插件)
2015-12-04 近期项目需要,我将插件更新了,增加了两个参数,一个参数控制文本框是否支持输入,另一个参数则是新增了一个回调函数,返回文本框内的值.另外对代码局部重构了,优化了一下封装,需要的朋友 ...
- Android 自定义控件 EditText输入框两边加减按钮Button
自己封装的一个控件:EditText两边放加减按钮Button来控制输入框的数值 Demo 下载地址: 第一版:http://download.csdn.net/detail/zjjne/674086 ...
- jQuery数字加减插件
jQuery数字加减插件 我们在网上购物提交订单时,在网页上一般会有一个选择数量的控件,要求买家选择购买商品的件数,开发者会把该控件做成可以通过点击实现加减等微调操作,当然也可以直接输入数字件数.本文 ...
- JS生成数字加减乘法验证码
给大家分享一个简单的js验证码生成代码 PS:该代码依赖Jquery1.4版本以上 传入元素 如productionVerificationCode(#\(("a")) 反回验证码 ...
- MySQL中大数字加减,不产生千位符和科学计数
mysql数字加减科学计数法 这两天因为需求,需要获取一张表的流水号.规则是这样的.当前日期+8位流水号.比如:2015062400000001,2015062400000002,2015062400 ...
- 简单的纯css重置input单选多选按钮的样式--利用伪类
由于input单选多选的原生样式通常都不符合需求,所以在实现功能时通常都需要美化按钮 html <input type="radio" /> <input typ ...
- 微信小程序——购物车数字加减
上一篇,我们有讲到如何造一个购物车弹层.今天来说一下,购物车数量的加减如何实现. 主要思路就是在data里面定义一个属性,属性值就是这个数量.点击+的时候就+1,点击-的时候就-1,再结合setDat ...
- 4. 纯 CSS 创作一个金属光泽 3D 按钮特效
原文地址:https://segmentfault.com/a/1190000014599280 HTML代码: <div class="box">BUTTON< ...
随机推荐
- MySQL MHA候选主库选择
MHA在选择新主库时,会将所有存活的从库分为下面几类: 存活从库数组:挑选所有存活的从库 最新从库数组: 挑选Master_Log_File+Read_Master_Log_Pos最高的从库 优选从库 ...
- thrift简单示例 (基于C++)
这个thrift的简单示例, 来源于官网 (http://thrift.apache.org/tutorial/cpp), 因为我觉得官网的例子已经很简单了, 所以没有写新的示例, 关于安装的教程, ...
- echarts 饼状图调节 label和labelLine的位置
原理 使用一个默认颜色为透明的,并且只显示labelLine的饼状图 然后通过调节这个透明的饼状图 以达到修改labelLine的位置 echarts地址 https://gallery.echart ...
- JAVA 容器配置 JVM 监控
目前世面上较流行的JAVA容器工具有:tomcat,jboss,weblogic 在日常工作中,经常会遇到开发需要查看JVM相关信息,这时就需要开启JVM. 一.tomcat 1 修改jdk认证配置文 ...
- Pthon面向对象-异常处理
Pthon面向对象-异常处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.异常概述 1>.错误(Error) 逻辑错误: 算法写错了,例如加法写成了减法. 笔误: 例如 ...
- js 预解析以及变量的提升
js在执行之前会进行预解析. 什么叫预解析? 预:提前 解析:编译 预解析通俗的说:js在执行代码之前会读取js代码,会将变量声明提前. 变量声明包含什么?1.var 声明 2.函数的显示声明. 提前 ...
- docker-compose部署gitlab
一.安装docker-compose步骤可参考本博客其他文章 二.这里的ssl证书是使用letsencrypt生成,可参考文档https://my.oschina.net/u/3042999/blog ...
- vue组件通信方式(多种方案)
一.Props传递数据 components |-Grandson1.vue //孙子1 |-Grandson2.vue //孙子2 |-Parent.vue //父亲 |-Grandson1.vue ...
- Stirling数入门
第一类Stirling数 定义 $$\begin{aligned}(x)_n & =x(x-1)...(x-n+1)\\&= s(n, 0) + s(n,1)x +..+s(n,n)x ...
- Window IDEA开发工具 杀死指定端口 cmd 命令行 taskkill
Windows平台 两步方法 : 1 查询端口占用,2 强行杀死进程 netstat -aon|findstr "8080" taskkill /pid 4136-t -f ...