CSS3中的变形功能

一.变形主要值得是利用transform功能来实现文字或图片的旋转,缩放,倾斜,移动这四种处理。

1.旋转-----transform:rotate(xxdeg);( IE9以上,safari 3.1以上,chrome 8以上、FireFox 4以上、Opera 10以上的浏览器都支持这些属性)

   先看例子:

<div id="test3">
     这是一个测试。
</div>
#test3{
     width:300px;
     margin: 100px auto;
     font-size: 40px;
     transform:rotate(45deg);
      }

   transform:rotate(45deg);这句表示div元素顺时针45度旋转,deg是一个角度单位。效果如下:

 

2.缩放-----transform:scale(x)

<div id="test4">
        这是一个测试。
</div>

 #test4{
          width:300px;
          margin: 100px auto;
          font-size: 40px;
          transform:scale(0.5);  
  }

也可以分别指定元素水平和垂直方向上的缩放。例如,元素在水平方向缩小50%,在垂直方向放大一倍:

<div id="test5">
    这是一个测试。
</div>

#test5{
   width:300px;
   margin: 100px auto;
   font-size: 40px;
   transform:scale(0.5,2);  
}

  上面两个缩放的效果如下:

 

 3.倾斜:使用skew方法来实现文字或图片的倾斜处理,两个参数分别指定水平方向上的倾斜角度和垂直方向的倾斜角度。例子:

<div id="test6">
    这是一个测试。
</div>

#test6{
      width:300px;
      margin: 100px auto;
      font-size: 40px;
      transform:skew(30deg,45deg);      
 }

若只有一个参数,默认只在水平方向上倾斜,不在垂直方向倾斜。

4.移动:使用translate方法,两个参数分别指定水平方向和垂直方向上的移动距离。若只有一个参数,默认只在水平方向上移动,垂直方向上不移动。

<div id="test7">
        这是一个测试。
</div>

 #test7{
      width:300px;
      margin: 100px auto;
      font-size: 40px;
      transform:translate(150px,150px);  
 }

这些变形也可以组合使用:

<div id="test8">
        这是一个测试。
</div>

#test8{
    width:300px;
    margin: 100px auto;
    font-size: 40px;
    transform:rotate(45deg) scale(0.5) skew(30deg,45deg) translate(150px,150px);      
  }

将元素45度顺时针旋转,在缩小一半,然后在水平方向倾斜30度,在垂直方向倾斜45度,在分别在水平和垂直方向上移动150px,效果如下:

可以指定变形的基点:在使用transform进行变形时,是以元素的中心为基准点进行的。使用transform-origin属性可以改变基准点。

<div id="test9">
    这是一个测试。
</div>

<div id="test10">
    这是一个测试。
</div>

#test9{
     position: absolute;
      width:150px;
      height:150px;
      background: green;
      margin: 100px 200px;
      font-size: 20px;
      transform:rotate(45deg);  
      }

#test10{
      position: absolute;
      width:150px;
      height:150px;
      background: red;
      margin: 100px 200px;
      font-size: 20px;
      transform-origin:left top; /*定基准点*/
      transform:rotate(45deg)      
      }

效果如下:(红色是把基准点顶到左上点的,绿色是默认的)

transform-origin属性的取值,前一个是“基准点在元素水平方向上的位置”,可以指定的值有:left,center,right;后一个值是“基准点在元素垂直方向上的位置”,可以指定的值有:top,center,bottom.

 
    

 

posted @ 2015-06-03 20:04  笨小猫  阅读(319)  评论(0编辑  收藏  举报