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

(编辑:jimmy 日期: 2024/11/12 浏览:2)

前言:

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

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实现数字加减按钮的最佳方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?