linear-gradient
1.linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果。
2.linear-gradient在不同内核下使用方式不同。
实用栗子(在Chrome下)
1.缺角效果
先看效果图

- <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;
- }
2.补角效果
先看效果图

- .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
3.带边框的效果
先看效果图

- <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,当然加边框可以有多种方式,可自行选择。
4.开关效果
效果图

- <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);
- }
最终效果可根据需要自行调整
5.在栗子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: 12px;
- border-top-color: #000;
- border-right-color: #000;
- top: -2px;
- right: -2px;
- }
-
6.考虑到兼容性问题,可以通过: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;
- }
-
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
标签:
CSS
使用
实例
版权声明:本站所有图片/内容除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除,谢谢!