转载请说明出处,原文地址http://blog.sina.com.cn/s/blog_780a942701014xl8.htmlhtml
目前这两个属性获得了除去ie之外各个主流浏览器webkit,firefox,opera的支持,属性名分别为web
-webkit-transform,-moz-transform,-o-transform;浏览器
一、改变元素基点transform-originurl
transform-origin(X,Y):用来设置元素的运动的基点(参照点)。默认点是元素的中心点。其中X和Y的值能够是百分值,em,px,其中X也能够是字符参数值left,center,right;Y和X同样除了百分值外还能够设置字符值top,center,bottom 。spa
其中 left,center right是水平方向取值,对应的百分值为left=0%;center=50%;right=100%firefox
而orm
top center bottom是垂直方向的取值,其中top=0%;center=50%;bottom=100%;htm
若是只取一个值,表示垂直方向值不变。对象
注:blog
transform-origin并非transform中的属性值,他具备本身的语法。
可是他要结合transform才能起做用。
例子:
初始态:
.heart{ position:relative; width:100px; height:80px; background:blue;}
.heart:before{ position:absolute; content:""; left:50px;top:0;width:50px;height:80px; background:red;border-radius: 50px 50px 0 0;}
取基点为左下角,逆时针转45deg
.heart{ position:relative; width:100px; height:80px; background:blue;}
.heart:before{ position:absolute; content:""; left:50px;top:0;width:50px;height:80px; background:red;border-radius: 50px 50px 0 0; -webkit-transform: rotate(-45deg); -webkit-transform-origin: 0 100%;}
取右下角为基点旋转:
.heart{ position:relative; width:100px; height:80px; background:blue;}
.heart:before{ position:absolute; content:""; left:50px;top:0;width:50px;height:80px; background:red;border-radius: 50px 50px 0 0; -webkit-transform: rotate(-45deg); -webkit-transform-origin: 0 100%;}
.heart:after{ position:absolute; content:""; left:0px;top:0;width:50px;height:80px; background:yellow;border-radius: 50px 50px 0 0; -webkit-transform: rotate(45deg); -webkit-transform-origin: 100% 100%;}
.heart:before,.heart:after{ position:absolute; content:""; top:0;width:50px;height:80px; background:red;border-radius: 50px 50px 0 0;}
.heart:before{ left:50px; -webkit-transform: rotate(-45deg); -webkit-transform-origin: 0 100%;}
.heart:after { left: 0; -webkit-transform: rotate(45deg); -webkit-transform-origin: 100% 100%;}
二、transform