当前位置:首页 >> 网页制作

CSS3样式linear-gradient的使用实例

linear-gradient

1.linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果。

2.linear-gradient在不同内核下使用方式不同。

实用栗子(在Chrome下)

1.缺角效果

 先看效果图

CSS3样式linear-gradient的使用实例

<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.补角效果

先看效果图

CSS3样式linear-gradient的使用实例

 

.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.带边框的效果

先看效果图

CSS3样式linear-gradient的使用实例

<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.开关效果

效果图

CSS3样式linear-gradient的使用实例

<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没有找到解决方法,如有方案,请在评论下给出方案。以下是其中一种解决方式

效果图

CSS3样式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;
    }

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