纯CSS样式实现数字加减按钮的最佳方案
2024-08-24 09:11:38
前言:
对于数字加减按钮的实现,以前用过不少方案,诸如:
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兼容性一样了。
这可谓是目前见过的最简单的实现方法,佩服想到这种用法的这位仁兄。
最新文章
- Javascript原型继承 __proto__
- Nginx下wordpress伪静态规则(rewrite)
- Opencv-Python 学习
- Java数据库连接池封装与用法
- div高度自适应(父元素未知,所有高度跟随子元素最大的高度)
- 要将serviceLocator注入到任何类中
- PHP+MYSQL会员系统的开发实例教程
- MVC自学第四课
- app性能测试【通过loadrunner录制】
- weiphp的学习
- 巧用五招提升Discuz!X运行速度
- android DecorView深入理解
- Testlink1.7.5安装部署
- 多个PVSS数据点属性读写的优化处理
- Common Vulnerability Scoring System CVSS
- Python并发复习4- concurrent.futures模块(线程池和进程池)
- MSP430F5529学习记录
- echarts3地图如何添加点击事件? 点击地图相应的区域ajax获取并展示本区域省下面所有市的信息
- HTML5 完美解决javascript中iphone手机和android手机复制文本到剪切板问题
- jsonrpc使用
热门文章
- 调用office Word Com 组件,提示权限不足处理
- Linux之RHEL7root密码破解(二)
- 【MySQL】FIND_IN_SET、LIKE、IN的区别
- Codeforces C. Jzzhu and Cities(dijkstra最短路)
- C# 获取操作系统空闲时间
- 树莓派 Linux 系统命令行快捷键
- Triton 学习
- CodeForces - 83D:Numbers (数学&;递归 - min25筛 )
- 解决最新版fitnesse无法运行测试用例的问题
- 004——转载—Word2016“此功能看似已中断 并需要修复”问题解决办法