纯CSS样式实现数字加减按钮的最佳⽅案
前⾔:
对于数字加减按钮的实现,以前⽤过不少⽅案,诸如:
1.使⽤背景图⽚——这种效果⽐较好,缺点是样式控制有点复杂了,还需要使⽤图⽚;
2.直接使⽤“+”“-”——这种⽅法简单粗暴,最容易实现,缺点是不同浏览器环境下显⽰略有不同,符号⼤⼩机线条粗细不太好调;
3.使⽤unicode字符,这个跟⽅法2差不多⼀样的问题,⽽且兼容性不好,出现过部分⼿机不显⽰的问题;
html实现用户注册登录代码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兼容性⼀样了。
这可谓是⽬前见过的最简单的实现⽅法,佩服想到这种⽤法的这位仁兄。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。