使用 CSS3 打造一组质感细腻丝滑的按钮
CSS3 引入了众多供功能强大的新特性,让设计和开发人员能够轻松的创作出各种精美的界面效果。下面这些发出闪亮光泽的按钮,很漂亮吧?把鼠标悬停在按钮上,还有动感的光泽移动效果。
温馨提示:为保证最佳的效果,请在 IE10+、Chrome、Firefox 和 Safari 等现代浏览器中浏览。
这些精美的效果用到了 CSS3 RGBA、box-shadow(阴影)、border-radius(边框圆角)和 linear-gradient(线性渐变),为了便于阅读,精简后的公共部分的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | .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 ; /* X轴偏移1像素、Y轴偏移2像素、不透明度为0.9的黑色文本阴影 */ text-shadow : rgba( 0 , 0 , 0 , 0.9 ) 0px 1px 2px ; background : #434343 ; border : 1px solid #242424 ; border-radius: 4px ; /* 使用多层阴影实现按钮立体效果 第一层:Y轴偏移1像素、不透明度为0.25的白色外阴影效果 第二层:Y轴偏移1像素、不透明度为0.25的白色内阴影效果 第三层:偏移位0、不透明度为0.25的黑色外阴影效果 第四层:Y轴偏移20像素、不透明度为0.03的白色内阴影效果 第五层:X轴偏移-20像素、Y轴偏移20像素、不透明度为0.15的黑色内阴影效果 第六层:X轴偏移20像素、Y轴偏移20像素、不透明度为0.05的白色内阴影效果 */ 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 ; /* 让变化的属性在100毫秒内匀速过渡 */ transition: all 0.1 s linear; } .button:hover { /* 鼠标悬停时的按钮多层阴影效果,和按钮默认时相比只是第一层有变化: 第一层:X轴偏移2像素、Y轴偏移5像素、不透明度为0.5的黑色外阴影效果 */ 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 ; } .shine { display : block ; position : relative ; /* IE下面使用滤镜实现渐变效果 */ 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 ; box-shadow: rgba( 255 , 255 , 255 , 0.2 ) 0px 1px 5px ; /* 让变化的属性在300毫秒内以ease-in-out(先加速后减速)方式过渡 */ transition: all 0.3 s ease-in-out; } |
您可能感兴趣的相关文章
作者:山边小溪
主站:yyyweb.com 记住啦:)
欢迎任何形式的转载,但请务必注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2013-08-05 Web 开发最有用的50款 jQuery 插件集锦——《综合篇》
2013-08-05 UIkit – 轻量级前端框架,帮助你快速构建 Web 界面
2013-08-05 高清精美壁纸:2013年9月桌面日历壁纸免费下载
2012-08-05 新鲜出炉的2012年8月桌面日历壁纸免费下载