CSS3样式linear-gradient的使用(切角效果)
2017-01-14 12:47
267 查看
linear-gradient
linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果。MDN地址linear-gradient在不同内核下使用方式不同,详细内容可参考w3cplus
实用栗子(在Chrome下)
缺角效果先看效果图
<div class="div1"> 这是内容 </div>
.div1 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, transparent 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; margin-bottom: 30px; }
补角效果
先看效果图
<div class="div2"> 这是内容 </div>
.div2 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, #f00 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; margin-bottom: 30px; }
只是在栗子1的基础上修改了linear-gradient,将transparent修改为#f00
带边框的效果
先看效果图
<div class="div3"> 这是内容 </div>
.div3 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, #f00 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; margin-bottom: 30px; box-shadow: 0 0 1px 1px #fff inset; }
在栗子2的基础上增加了box-shadow,当然加边框可以有多种方式,可自行选择。
开关效果
效果图
<div class="div4"> <div class="div4-1">OFF</div> <div class="div4-2 active">ON</div> </div>
.div4 { width: 144px; height: 30px; line-height: 30px; background: #162e48; color: #FFF; text-align: center; margin-bottom: 30px; } .div4-1, .div4-2 { width: 86px; float: left; } .div4-1.active { margin-right: -28px; background:linear-gradient(-135deg, transparent 20px, #f00 0); } .div4-2.active { margin-left: -28px; background:linear-gradient(45deg, transparent 20px, #f00 0); }
最终效果可根据需要自行调整
在栗子3的基础上做到以下效果,单纯使用linear-gradient没有找到解决方法,如有方案,请在评论下给出方案。以下是其中一种解决方式
效果图
.div5 { width: 100px; height: 40px; line-height: 40px; background:linear-gradient(-135deg, #fff 15px, #162e48 0); color: #fff; padding: 5px 15px; text-align: center; box-shadow: 0 0 1px 1px #fff; margin-bottom: 30px; position: relative; } .div5:after { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #000; border-right-color: #000; top: -1px; right: -1px; }
考虑到兼容性问题,可以通过
:before和
:after实现同样的效果,给出一个栗子
.div6 { width: 100px; height: 40px; line-height: 40px; background:#162e48; color: #fff; padding: 5px 15px; text-align: center; position: relative; border: 1px solid #fff; margin-bottom: 30px; } .div6:before { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #fff; border-right-color: #fff; right: 0px; top: 0px; } .div6:after { content: ' '; border: solid transparent; position: absolute; border-width: 15px; border-top-color: #000; border-right-color: #000; top: -1px; right: -1px; }
相关文章推荐
- 使用CSS3线性渐变(linear-gradient)实现文本波浪线效果
- CSS3样式linear-gradient的使用
- CSS3样式linear-gradient的使用
- CSS3样式linear-gradient的使用
- css3中webkit-linear-gradient、box-shadow属性的使用
- linear-gradient和radial-gradient属性——css3渐变效果
- android中使用LinearGradient实现渲染效果
- html5用css3实现线性渐变background-image:linear-gradient使用方法
- 前端学习笔记10 使用CSS3进行样式效果增强
- 详解CSS3中使用gradient实现渐变效果的方法
- android 使用LinearGradient实现手机开机文字闪烁效果
- android 使用LinearGradient进行字体渐变的效果
- android 使用LinearGradient进行字体渐变的效果
- CSS3:linear-gradient,线性渐变的使用方法
- android 使用LinearGradient进行字体渐变的效果
- 使用CSS3可以实现的五种很酷很炫的效果
- 使用CSS3可以实现的五种很酷很炫的效果
- 一个用 CSS3 样式加上 JS 实现了 alert 和 confirm的效果
- 使用jQuery和CSS3创建一个支持翻转效果的微/轻博客网站列表
- 使用jQuery和CSS3创建一个支持翻转效果的微/轻博客网站列表