纯CSS3实现质感细腻丝滑按钮


Posted in HTML / CSS onMarch 09, 2021
	<div class="button gray"><div class="shine"></div>HTML5素材</div>
	<div class="button blue"><div class="shine"></div>jQuery素材</div>
	<div class="button green"><div class="shine"></div>HTML5素材</div><br/>
	<div class="button red"><div class="shine"></div>JS素材</div>
	<div class="button purple"><div class="shine"></div>html5tricks</div>
	<div class="button orange"><div class="shine"></div>HTML5资源教程</div>
.info
{
	margin-top: 50px;
}

.info a
{
	text-decoration: none;
	color: #fff;
	font-size: 15px
}

.button
{
	min-height: 1.5em;
	display: inline-block;
	padding: 12px 36px;
	margin: 40px 5px 5px 0px;
	cursor: pointer;
	opacity: 0.9;
	color: #FFF;
	font-size: 1em;
	letter-spacing: 1px;
	text-shadow: rgba(0,0,0,0.9) 0px 1px 2px;
	background: #434343;
	border: 1px solid #242424;
	-webkit-border-radius: 4px;
	-khtml-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-khtml-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-moz-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-o-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-webkit-transition: all 0.1s linear;
	-khtml-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}

.button:hover
{
	-webkit-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-khtml-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-moz-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-o-box-shadow: rgba(0,0,0,0.5) 0px 2px 5px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	box-shadow: rgba(0,0,0,0.5) 0px 2px 5px, inset rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(0,0,0,0.25) 0px 0px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
}

.button:active
{
	-webkit-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px,inset rgba(255,255,255,0) 0px 1px 0px, inset rgba(0,0,0,0.5) 0px 0px 5px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-khtml-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px,inset rgba(255,255,255,0) 0px 1px 0px, inset rgba(0,0,0,0.5) 0px 0px 5px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-moz-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0) 0px 1px 0px, inset rgba(0,0,0,0.5) 0px 0px 5px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	-o-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0) 0px 1px 0px, inset rgba(0,0,0,0.5) 0px 0px 5px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
	box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0) 0px 1px 0px, inset rgba(0,0,0,0.5) 0px 0px 5px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
}

.shine
{
	display: block;
	position: relative;
	background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(50%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0)));
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
	background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
	background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 );
	background: linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
	padding: 0px 12px;
	top: -12px;
	left: -24px;
	height: 1px;
	-webkit-box-shadow: rgba(255,255,255,0.2) 0px 1px 5px;
	-khtml-box-shadow: rgba(255,255,255,0.2) 0px 1px 5px;
	-moz-box-shadow: rgba(255,255,255,0.2) 0px 1px 5px;
	-o-box-shadow: rgba(255,255,255,0.2) 0px 1px 5px;
	box-shadow: rgba(255,255,255,0.2) 0px 1px 5px;
	-webkit-transition: all 0.3s ease-in-out;
	-khtml-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.button:hover .shine
{
	left: 24px;
}

.button:active .shine
{
	opacity: 0;
}

.button.gray
{
	background: #555;
}

.button.blue
{
	background: #3a617e;
}

.button.green
{
	background: #477343;
}

.button.red
{
	background: #723131;
}

.button.purple
{
	background: #4b3f5e;
}

.button.orange
{
	background: #624529;
}
HTML / CSS 相关文章推荐
CSS3中的5个有趣的新技术
Apr 02 HTML / CSS
利用SVG和CSS3来实现一个炫酷的边框动画
Jul 22 HTML / CSS
CSS3绘制超炫的上下起伏波动进度加载动画
Apr 21 HTML / CSS
CSS3 新增选择器的实例
Nov 13 HTML / CSS
canvas画布实现手写签名效果的示例代码
Apr 23 HTML / CSS
IE支持HTML5的解决方法
Oct 20 HTML / CSS
html5 canvas 画图教程案例分析
Nov 23 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
Sep 10 HTML / CSS
详解如何获取localStorage最大存储大小的方法
May 21 HTML / CSS
移动端HTML5开发神器之vconsole详解
Dec 15 HTML / CSS
CSS3 天气图标动画效果
Apr 06 HTML / CSS
css 边框添加四个角的实现代码
Oct 16 HTML / CSS
css动画效果之animation的常用样式
Mar 09 #HTML / CSS
使用CSS3实现字体颜色渐变的实现
CSS心形加载的动画源码的实现
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
详解CSS样式中的 !important * _ 符号
a标签的css样式四个状态
Mar 09 #HTML / CSS
CSS中一些@规则的用法小结
Mar 09 #HTML / CSS
You might like
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
python 实现IP子网计算
2021/02/18 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
大学生在校学习的自我评价
2014/02/18 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
基于JavaScript实现省市联动效果
2021/06/22 Javascript
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
pandas中pd.groupby()的用法详解
2022/06/16 Python