CSS缩放函数, 旋转函数与倾斜函数

Posted 学海泛舟拾贝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS缩放函数, 旋转函数与倾斜函数相关的知识,希望对你有一定的参考价值。

   1 :缩放

       scale(x,y)函数让元素根据中心原点对对象进行缩放,大于1进行放大,小于1则缩小,如果为负值,则先进行翻转再进行缩放操作。

   实例:

    html

   <div class="old11">
       <h3>原图</h3>
       <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg"  width="150" height="150"/>
    </div>
    <div class="new11">
       <h3>对x轴放大2倍,对Y轴放大2倍</h3>
       <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg"  width="150" height="150"  style="margin-top:60px;"/>
   </div>

    CSS:

   div.old11,div.new11 {
      margin:0 auto;
      position:relative;
      width:500px;
   }
   .new11 img {position: absolute;}
   .new11 img{
      -webkit-transform:scale(-2,2);
         -moz-transform:scale(-2,2);
           -o-transform:scale(-2,2);
              transform:scale(-2,2);
   }

原图

先对其左右翻转,对x轴放大2倍,对Y轴放大2倍

 

 

 

 

 

 

 

 

 

 

 

使用transform-origin对transform:scale元素进行重置原点位置

默认使用中心点位置对元素进行缩放效果
使用transform-origin来改变元素的中心点-使元素left成为元素的起点位置对元素进行缩放

 


    2:旋转

    rotate(x)通过选定元素原点中心进行旋转,正:顺时针,负:逆时针(2d).

实例:

      HTML:

1   <div class="old33">
2       <h3>原图</h3>
3       <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg"  width="150" height="150"/>
4   </div>
5   <div class="new33">
6       <h3>对原图旋转45度</h3>
7       <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg"  width="150" height="150"  style="margin-top:20px;"/>
8   </div>

      CSS:

 1 div.old33,div.new33 {
 2      margin:0 auto;
 3      position:relative;
 4      width:500px;
 5 }
 6 div.new33 img{
 7      -webkit-transform:rotate(45deg);
 8         -moz-transform:rotate(45deg);
 9           -o-transform:rotate(45deg);
10              transform:rotate(45deg);
11 }

原图

对原图旋转45度

 

      *改变旋转中心点:transform-origin

       实例:

       HTML:

 1 <div class="transform-origin">
 2     <h3>默认使用中心点位置对元素进行旋转效果</h3>
 3     <div class="old">
 4         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 5         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 6         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 7         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 8         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 9     </div>
10 
11     <h3>使用transform-origin来改变元素的中心点-使元素bottom成为元素的起点位置对元素进行旋转</h3>
12     <div class="new">
13         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
14         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
15         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
16         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
17         <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
18     </div>
19     </div>

      CSS:

 1 .transform-origin div {
 2         width: 500px;
 3         height: 300px;
 4         position: relative;
 5     }
 6     .transform-origin div img {
 7         position: absolute;
 8         top: 50px;
 9         left: 50px;
10     }
11     .transform-origin div img:nth-child(1){
12         opacity: .5;
13         z-index: 1;
14         transform: rotate(10deg);
15     }
16     .transform-origin div img:nth-child(2){
17         opacity: .6;
18         z-index: 2;
19         transform: rotate(25deg);
20     }
21     .transform-origin div img:nth-child(3){
22         opacity: .7;
23         z-index: 3;
24         transform: rotate(35deg);
25     }
26     .transform-origin div img:nth-child(4){
27         opacity: .8;
28         z-index: 4;
29         transform: rotate(45deg);
30     }
31     .transform-origin div img:nth-child(5){
32         z-index: 5;
33         transform: rotate(60deg);
34     }
35     .transform-origin .new img {
36         transform-origin: bottom;
37     }
默认使用中心点位置对元素进行旋转效果
使用transform-origin来改变元素的中心点-使元素bottom成为元素的起点位置对元素进行旋转

 


    3:倾斜

      skey(x,y):可以将元素以其中心位置围绕着x轴与y轴按照一定角度进行倾斜。

      实例:

     HTML:

<h2>transform属性-skew倾斜的demo</h2>
<div class="skew">
    <img src="http://m1.img.srcdd.com/farm5/d/2015/0228/22/FD9886C5434AC71115812ED3DB6409B9_B500_900_500_269.jpeg"/>
</div>

    CSS:

.skew img {
    -webkit-transform:skew(0deg);
    -moz-transform:skew(0deg);
    -o-transform:skew(0deg);
    transform:skew(0deg)
    transition:1s all linear;
}
.skew {
width:520px;
height:280px;
overflow:hidden;
} .skew img:hover {
-webkit-transform:skew(20deg);
-moz-transform:skew(20deg);
-o-transform:skew(20deg);
transform:skew(20deg)
}

      演示倾斜demo.

 使用transform-origin对transform:skew元素(倾斜)进行重置原点位置

       实例:

       HTML:

 1     <div class="transform-origin-skew">
 2         <h3>默认使用中心点位置对元素进行倾斜效果</h3>
 3         <div class="old">
 4             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 5             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 6             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 7             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 8             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
 9         </div>
10 
11         <h3>使用transform-origin来改变元素的中心点-使元素bottom成为元素的起点位置对元素进行倾斜</h3>
12         <div class="new">
13             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
14             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
15             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
16             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
17             <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.jpg" alt="" width="142" height="200" />
18         </div>
19     </div>

      CSS:

 1     .transform-origin-skew div {
 2         width: 500px;
 3         height: 300px;
 4         position: relative;
 5     }
 6     .transform-origin-skew div img {
 7         position: absolute;
 8         top: 50px;
 9         left: 50px;
10     }
11     .transform-origin-skew div img:nth-child(1){
12         opacity: .5;
13         z-index: 1;
14         transform: skew(-10deg);
15     }
16     .transform-origin-skew div img:nth-child(2){
17         opacity: .6;
18         z-index: 2;
19         transform: skew(-15deg);
20     }
21     .transform-origin-skew div img:nth-child(3){
22         opacity: .7;
23         z-index: 3;
24         transform: skew(-20deg);
25     }
26     .transform-origin-skew div img:nth-child(4){
27         opacity: .8;
28         z-index: 4;
29         transform: skew(-25deg);
30     }
31     .transform-origin-skew div img:nth-child(5){
32         z-index: 5;
33         transform: skew(-30deg);
34     }
35     .transform-origin-skew .new img {
36         transform-origin: bottom;
37     }

演示demo:

默认使用中心点位置对元素进行倾斜效果
使用transform-origin来改变元素的中心点-使元素bottom成为元素的起点位置对元素进行倾斜

 

 

 

 

 (感谢-空智)

 

以上是关于CSS缩放函数, 旋转函数与倾斜函数的主要内容,如果未能解决你的问题,请参考以下文章

CSS3之变形

Css3旋转位移缩放倾斜动画

CSS变形

css3 动画

31.QPainter-rotate()函数分析-文字旋转不倾斜,图片旋转实现等待

CSS3 2D 转换