CSS3 linear-gradient线性渐变生成加号和减号的方法


Posted in HTML / CSS onNovember 21, 2017

在商城项目中,购物车是一个很重要的功能。其中最常见的是购物车中对库存的“+-”操作,包括抢购后面有很多算法。但是作为前端来说,购物车的结算中的+-就是一个计算而已。传统的实现方式是通过图片来实现+-按钮,而本文却将使用CSS3的linear-gradient线性渐变来实现购物车的加减操作。

要实现一个减号效果非常简单,例如要实现一个10px*2px的减号图形,则CSS:

.minus {
    background-image: linear-gradient(to top, #666, #666);
    background-size: 10px 2px;
}

原理如下,先使用渐变生成一个铺满整个元素背景的纯色(#666)渐变图片,然后使用background-size属性控制成我们想要的大小,效果就实现了。

加号效果也是类似,只是要多一层linear-gradient的累加。

最终可以实现类似下图效果:

CSS3 linear-gradient线性渐变生成加号和减号的方法

和传统::before, ::afetr伪元素配合background-color或border相比,使用渐变背景生成有个非常重要的好处,那就是居中定位非常方便,直接在background属性后面加个center即可,而传统实现通常需要绝对定位,然后再巴拉巴拉一通代码来居中,很??碌摹?/p>

下面给出本实例的全部代码,css代码如下:

.btn {
    display: inline-block;
    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;
}

关键的html代码如下:

<a href="javascript:" class="btn btn-plus" role="button" title="增加"></a>
<input value="1" size="1">
<a href="javascript:" class="btn btn-minus" role="button" title="减少"></a>

最终的运行效果就是和上面的贴图一样。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
纯CSS3实现的阴影效果
Dec 24 HTML / CSS
纯HTML5+CSS3制作图片旋转
Jan 12 HTML / CSS
纯CSS3绘制打火机动画火焰效果
Jul 18 HTML / CSS
html5 viewport使用方法示例详解
Dec 02 HTML / CSS
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
Mar 22 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
Jan 31 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
Oct 22 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
Nov 10 HTML / CSS
z-index不起作用
Mar 31 HTML / CSS
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
Jul 16 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
Nov 21 #HTML / CSS
纯css实现照片墙3D效果的示例代码
Nov 13 #HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 #HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 #HTML / CSS
css3实现文字扫光渐变动画效果的示例
Nov 07 #HTML / CSS
css3实现画半圆弧线的示例代码
Nov 06 #HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
Nov 06 #HTML / CSS
You might like
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
javascript读取xml
2006/11/04 Javascript
兼容ie和firefox js关闭代码
2008/12/11 Javascript
javascript this用法小结
2008/12/19 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
小小聊天室Python代码实现
2016/08/17 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
python中PyQuery库用法分享
2021/01/15 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
青年安全生产示范岗事迹材料
2014/05/04 职场文书
表扬稿范文
2015/01/17 职场文书
开学第一天的感想
2015/08/10 职场文书
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript