CSStransform(变形)和transform-origin(变形原点)

更新时间:2023-05-11 06:12:47 阅读: 评论:0

CSStransform(变形)和transform-origin(变形原点)
transform(变形)和transform-origin(变形原点)的说明:
⽬前这两个属性得到了除去ie以外各个主流浏览器webkit,firefox,opera的⽀持,属性名分别为
-webkit-transform,-moz-transform,-o-transform;
1、改变元素基点transform-origin
transform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,该属性只有在设置了transform属性的时候起作⽤;
因为我们元素默认基点就是其中⼼位置,换句话说我们没有使⽤transform-origin改变元素基点位置的情况下,transform进⾏的rotate,translate,scale,skew,matrix 等操作都是以元素⾃⼰中⼼位置进⾏变化的。
但有时候我们需要在不同的位置对元素进⾏这些操作,那么我们就可以使⽤transform-origin来对元素进⾏基点位置改变,使元素基点不在是中⼼位置,以达到你需要的基点位置。
下⾯我们主要来看看其使⽤规则:
transform-origin(X,Y):⽤来设置元素的运动的基点(参照点)。默认点是元素的中⼼点。其中X和Y的值可以是百分值,em,px,其中X也可以是字符参数值left,center,right;Y和X⼀样除了百分值外还可以设置字符值top,center,bottom。
语法:-moz-transform-origin: [ |  | left | center | right ][ |  | top | center | bottom ]
transform-origin接受两个参数,它们可以是百分⽐,em,px等具体的值,也可以是left,center,right,或者 top,center,bottom等描述性参数top left | left top 等价于 0 0;
top | top center | center top 等价于 50% 0
right top | top right 等价于 100% 0
left | left center | center left 等价于 0 50%
center | center center 等价于 50% 50%(默认值)
right | right center | center right 等价于 100% 50%
bottom left | left bottom 等价于 0 100%
bottom | bottom center | center bottom 等价于 50% 100%
bottom right | right bottom 等价于 100% 100%
其中left,center right是⽔平⽅向取值,对应的百分值为left=0%;center=50%;right=100%⽽top center bottom是垂直⽅向的取值,其中
top=0%;center=50%;bottom=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;}
取基点为左下⾓,逆时针转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%;}

本文发布于:2023-05-11 06:12:47,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/881967.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:元素   基点   位置
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图