CSS渐变

目录

1、线性渐变

2、径向渐变

3、练习


1、线性渐变

        background-image:linear-gradient(direction,color1,color2....)

        可以设置多个渐变,多个渐变之间可以用逗号隔开

         重复的线性渐变:  

                    background: repeating-linear-gradient(color1,color2...)

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            float: left;
            width: 300px;
            height: 300px;
            margin: 10px;
        }
        .box:nth-child(1) {
            background: linear-gradient(red,yellow);
        }
        .box:nth-child(2) {
            background: -webkit-linear-gradient(right,red,yellow);
            background: linear-gradient(right, red,yellow);
        }
        .box:nth-child(3) {
            background: linear-gradient(to right, red,yellow);
        }
        .box:nth-child(4) {
            background: linear-gradient(to top, red,orange,yellow,green,cyan,blue,purple);
        }
        .box:nth-child(5) {
            background: linear-gradient(to right top, red,orange,yellow,green,cyan,blue,purple);
        }
        .box:nth-child(6) {
            /* 默认的渐变方式是从上往下的 */
            /* background: linear-gradient(blue 100px,red 200px); */
            /* background: linear-gradient(blue 150px,red 150px); */
            background: linear-gradient(blue 50%,red 50%);
        }
        .box:nth-child(7) { 
            background: linear-gradient(to right,blue 33.3%,white 33.3%,white 66.6%,red 66.6%);
        }
        .box:nth-child(8) { 
            /* 不是背景颜色 */
            background-image: linear-gradient(to right,blue 33.3%,white 33.3%,white 66.6%,red 66.6%);
        }
        .box:nth-child(9) {
            /* 默认的渐变方式是从上往下的 */
            /* background: linear-gradient(blue 100px,red 200px); */
            /* background: linear-gradient(blue 150px,red 150px); */
            background: linear-gradient(rgba(0,0,255,.2) 50%,rgba(255,0,0,.2) 50%),linear-gradient(to right,rgba(255,0,0,.2) 50%,rgba(255,255,0,.2) 50%);
        }
        .box:nth-child(10) {
            background: repeating-linear-gradient(red,yellow 20%);
        }
        .box:nth-child(11) {
            background: repeating-linear-gradient(red 20%,yellow 40%);
        }
    </style>
</head>
<body>
  

     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
</body>
</html>

  结果

 

2、径向渐变

           background:radial-gradient(color1,color2....)

           渐变的形状默认是椭圆,如果需要修改成圆形,circle

           重复的径向渐变:background:repeating-radial-gradient(color1,color2....)

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            float: left;
            width: 300px;
            height: 200px;
            margin: 10px;
        }
        .box:nth-child(1) {
            background: radial-gradient(red,yellow);
        }
        .box:nth-child(2) {
            background: radial-gradient(red 50%,yellow);
        }
        .box:nth-child(3) {
            background: radial-gradient(red 50%,yellow 50%);
        }
        .box:nth-child(4) {
            background: radial-gradient(circle,red 50%,yellow 50%);
        }
        .box:nth-child(5) {
            background: radial-gradient(circle at top,red 50%,yellow 50%);
        }
        .box:nth-child(6) {
            background: radial-gradient(circle at left top,red,yellow);
        }
        .box:nth-child(7) {
            background: radial-gradient(circle at 0px 0px,red,yellow);
        }
        .box:nth-child(8) {
            background: repeating-radial-gradient(red 10%,yellow 20%);
        }
    </style>
</head>
<body>


     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
     <div class="box"></div>
</body>
</html>

结果:

3、练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 200px;
            height: 200px;
            float: left;
            margin-right: 10px;
        }
        .box:nth-child(1) {
            background:repeating-linear-gradient(#33baf1 0%,#33baf1 10%,#00abed 10%,#00abed 20%);
        }
        .box:nth-child(2) {
            background:repeating-linear-gradient(to right top,#33baf1 0%,#33baf1 10%,#00abed 10%,#00abed 20%);
        }
        .box:nth-child(3) {
            background:repeating-linear-gradient(to right,#33baf1 0%,#33baf1 10%,#00abed 10%,#00abed 20%);
        }
        .box:nth-child(4) {
            background:linear-gradient(to right top,#BBD534 50%,#ABCC01 50%);
        }
        .box:nth-child(5) {
            background:linear-gradient(to right top,#BBD534 50%,#ABCC01 50%);
            background-size: 50px 50px;
        }
        .box:nth-child(6) {
            background: linear-gradient(rgba(255,0,0,.2) 50%,rgba(255,255,255,.2) 50%),linear-gradient(to right,rgba(255,0,0,.2) 50%,rgba(255,255,255,.2) 50%);
        }
        .box:nth-child(7) {
            background: linear-gradient(rgba(255,0,0,.2) 50%,rgba(255,255,255,.2) 50%),linear-gradient(to right,rgba(255,0,0,.2) 50%,rgba(255,255,255,.2) 50%);
            background-size:20px 20px ;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
</body>
</html>

效果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值