Fork me on GitHub

李可

导航

CSS3:背景

细节注意

盒子:border-box | padding-box | content-box用于background-origin背景的开始和background-clip的剪切位置。
渐变也是生成一张图片相当url(),可以在前面或者后面加 repeat background-size其他等
多层背景,最后加背景颜色哦,当然其他也能加,但是前面加的就覆盖最后的了。
例子:240px 120px/100% 200px,这里面的背景开始位置position/背景尺寸size都是x和y方向,可以负值,可以百分比(以当前div的宽高,而不是背景图片的宽高的百分比)。
position和origin开始位置的区分

文档:

doyue的手册

代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <style>
    div{display:relative;float:left;}

  .box0{width:100px;height:100px;background:red;opacity:0.1; transition:height 5s, width ,5s;}
.box0:hover{ background:blue;width:200px;opacity:1;height:300px;}
    
    .box1{
      width:100px;height:230px;/*opacity:0.1; */
      background:url("http://images.cnblogs.com/cnblogs_com/leee/801892/o_like.png");
     /*background-size:contain; *//*将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。*/
     /* background-size:cover;*/ /*将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。y轴方向北京图片显示完全,*/
     /*background-size:100% 100%; *//*自定义背景图像宽高,为当前div宽高的百分比,如果小于div宽高,背景重复,需要设置repeat*/
     /*background-size:100% 50%; */ 
     /* background-size:100px 70px; *//*自定义背景图像大小,xy的大小,如果小于div宽高,背景重复,需要设置repeat*/
      background-size:30px 70px; 
      transition:1s;
     /*border:5px solid red;*//*没有顺序哦~*/
      border:red solid  5px;
     /*font:italic small-caps bold  16px/1 Simsun,arial,sans-serif;*/

    }
    .box1:hover{opacity:0.3;}
    
    .box2{
      height:400px;width:400px;
  border:4px solid orange;
  background:url(http://pic36.nipic.com/20131125/8821914_113934565000_2.jpg) 0 0/130px 140px  no-repeat,
  no-repeat url(http://images.cnblogs.com/cnblogs_com/leee/801892/o_like.png) 100px 100px/130px 250px   , 
  no-repeat  url("http://www.pp3.cn/uploads/201605/20160514011.jpg") 240px 120px/100% 100%,/*100% 100%超过了*/
  no-repeat  url("http://www.pp3.cn/uploads/201605/20160514011.jpg") 190px -10px/180px 150px ,
   -webkit-linear-gradient(bottom,yellow,yellowgreen) 0 0/100% 100%;/*渐变生成一张图,就相当于url()~*/
    }
   .box3{
      height:400px;width:400px;
      border:4px solid orange;
      background:url(http://pic36.nipic.com/20131125/8821914_113934565000_2.jpg) 0 0/130px 140px  no-repeat,/*没有顺序哦~*/
      no-repeat url(http://images.cnblogs.com/cnblogs_com/leee/801892/o_like.png) 100px 100px/130px 250px , 
      url("http://www.pp3.cn/uploads/201605/20160514011.jpg") no-repeat 240px 120px/100% 100%,
      no-repeat  url("http://www.pp3.cn/uploads/201605/20160514011.jpg") 190px -10px/180px 150px green;
     /*注意,red 只能设置一次,且由于写在前面的背景会叠在之后的背景之上,所以背景色通常都定义在最后一组上,避免背景色将图像盖住。*/
    }
    .box4{ height:400px;width:400px;
      padding-bottom:10px;/*剪切的时候,padding-box,就是padding也显示背景*/
      border:40px dotted orange;
      margin:50px; 
    background:  no-repeat url(http://images.cnblogs.com/cnblogs_com/leee/801892/o_like.png) 100px 100px/130px 100% border-box padding-box;
      /*background-origin:border-box | padding-box | content-box*/
       /*从border/padding/content区域(含border/padding/content)开始显示背景图像。 */

      /*background-clip:border-box | padding-box | content-box | text
      从border/padding/content区域(不含border/padding/content)开始向外裁剪背景。 
*/
    }
  </style>
</head>
<body>
<div class="box0"></div>
  <div class="box1">这是一段字体</div>
  <div class="box2"></div>
  <div class="box3"></div>
  <div class="box4"></div>

</body>
</html

结果1

结果2

posted on 2016-05-16 15:16  李可在江湖  阅读(294)  评论(0编辑  收藏  举报