css3渐变

一.线性渐变linear-gradient (向下/向上/向左/向右/对角方向)
1.使用方法:

  background:-webkit-linear-gradient(red,blue);
  background:-moz-linear-gradient(red,blue);
  background:linear-gradient(red,blue);

2.语法:

// 1:基本用法
background: linear-gradient(direction, color-stop1, color-stop2, ...);
// direction可以为left,right,bottom,top也可以为left top 表示左上角。
// 2 使用角度
background: linear-gradient(angle, color-stop1, color-stop2);
// 如 0deg,90deg

3.补充
CSS3 渐变也支持透明度(transparent),可用于创建减弱变淡的效果。如下:

background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); 

二.径向渐变radial-gradient (由它们的中心定义)
1.使用方法:

  background:-webkit-radial-gradient(red,blue);
  background:-webkit-radial-gradient(100px 50px,circle,red,blue);  
  //形状: ellipse、circle或者具体数值或百分比,也可以是关键字(最近端,最近角,最远端,最远角,包含或覆盖
  // (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover));  
  // firefox目前只支持关键字

2.语法:

background: radial-gradient(center, shape size, start-color, ..., last-color);
// 径向渐变 - 颜色结点均匀分布(默认情况下)
// shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。

实例1:使用linear-gradient实现切角画册
关键代码:(四个切角)

background: -webkit-linear-gradient(45deg, transparent 10px, #fff 10px),
            -webkit-linear-gradient(135deg, transparent 10px, #fff 10px),
            -webkit-linear-gradient(225deg, transparent 10px, #fff 10px),
            -webkit-linear-gradient(315deg, transparent 10px, #fff 10px);
            background-position: bottom left, bottom right, top right, top left;
            background-size: 55% 55%;
            background-repeat: no-repeat;

使用到的知识点(补充)

水平居中
1、text-align: center. 
    这个大家一般都用过,我就稍微扯一点:只要父级的div设置了这个属性,里面的文字就会居中(包括图片),这个属性只对行内元素起作用。
    如果想要居中的是块级元素,它就无能为力了,要么把这个块级元素display: inline-block;要么换另一种方法。
        .box-wrap {
            text-align: center;
        }    
        .box {
          display:inline-block;
        }
        要点:要居中的必须是行内元素才有作用

    2、margin: 0 auto; 
        这个算是一个大招了,想让谁居中,就给谁设置上这个属性,左右居中妥了。即使父级使用了绝对定位或者相对定位,也是妥妥的好使。但是必须加上宽度width,否则白瞎。
      .box {
        margin: 0 auto;
        width: 100px;
      }
         要点: 
          1、必须给要居中的元素设置宽度 
          2、这个家伙不能是浮动元素,否则居中失效 
          3、没有声明DOCTYPE会导致居中失效

具体实现:
效果如下:


css3渐变_第1张图片
1.pic.jpg
css3渐变_第2张图片
17.pic.jpg

如下代码,根据linear-gradient弄出四个切角,并改为透明色。




    
    linear-gradient
    


为达到更好的效果,添加如下代码:

        [class*='tucked-corners-']::before,
        [class*='tucked-corners-']::after {
            content: '';
            position: absolute;
            height: 20px;
            width: 80px;
            -webkit-box-shadow: 0 8px 15px -7px rgba(0, 0, 0, .5);
            -moz-box-shadow: 0 8px 15px -7px rgba(0, 0, 0, .5);
            box-shadow: 0 8px 15px -7px rgba(0, 0, 0, .5);
            box-shadow: none \9; /* IE9 */
        }

        .tucked-corners-top::before,
        .tucked-corners-top::after {
            top: -10px;
        }

        .tucked-corners-bottom::before,
        .tucked-corners-bottom::after {
            bottom: -10px;
        }

        .tucked-corners-top::before,
        .tucked-corners-bottom::before {
            left: -42px;
        }

        .tucked-corners-top::after,
        .tucked-corners-bottom::after {
            right: -42px;
        }

        .tucked-corners-top::before {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
        }

        .tucked-corners-top::after {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
        }

        .tucked-corners-bottom::before {
            -webkit-transform: rotate(-135deg);
            -moz-transform: rotate(-135deg);
            -ms-transform: rotate(-135deg);
            -o-transform: rotate(-135deg);
            transform: rotate(-135deg);
        }

        .tucked-corners-bottom::after {
            -webkit-transform: rotate(135deg);
            -moz-transform: rotate(135deg);
            -ms-transform: rotate(135deg);
            -o-transform: rotate(135deg);
            transform: rotate(135deg);
        }

实例2:利用css3径向渐变做一张优惠券
关键代码:

background: radial-gradient(transparent 0, transparent 5px, #F39B00 5px);
background-size: 15px 15px;
background-position: 9px 3px;

具体实现如下:

HTML代码:
    

XXXXXX折扣店

50.00优惠券

订单满100.00元

副券

2015-08-13
2016-08-13

CSS代码: .stamp { width: 387px;height: 140px;padding: 0 10px;position: relative;overflow: hidden; } .stamp:before {content: '';position: absolute;top:0;bottom:0;left:10px;right:10px;z-index: -1;} .stamp:after { content: '';position: absolute; left: 10px;top: 10px;right: 10px;bottom: 10px; box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.5);z-index: -2;} .stamp i{ position: absolute;left: 20%;top: 45px;height: 190px;width: 390px; background-color: rgba(255,255,255,.15);transform: rotate(-30deg); } .stamp .par{ float: left;padding: 16px 15px;width: 220px; border-right:2px dashed rgba(255,255,255,.3);text-align: left; } .stamp .par p{color:#fff;} .stamp .par span{font-size: 50px;color:#fff;margin-right: 5px;} .stamp .par .sign{font-size: 34px;} .stamp .par sub{position: relative;top:-5px;color:rgba(255,255,255,.8);} .stamp .copy{ display: inline-block;padding:21px 14px;width:100px; vertical-align: text-bottom;font-size: 30px; color:rgb(255,255,255); } .stamp .copy p{font-size: 16px;margin-top: 15px;} .stamp01{ background: #F39B00; background: radial-gradient(rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 5px, #F39B00 5px); background-size: 15px 15px; background-position: 9px 3px; } .stamp01:before{ background-color:#F39B00; }

效果如下:


css3渐变_第3张图片
18.pic.jpg

你可能感兴趣的:(css3渐变)