CSS transform-origin

一、transform-origin属性介绍


transform-origin属性表示在对元素进行变换的时候,设置围绕哪个点进行变化的。默认情况,变换的原点在元素的中心点,即是元素X轴和Y轴的50%处,如下图所示:

CSS transform-origin_第1张图片

 

我们没有使用transform-origin改变元素原点位置的情况下,CSS变换进行的旋转、移位、缩放等操作都是以元素自己中心(变换原点)位置进行变换的。但很多时候需要在不同的位置对元素进行变换操作,我们就可以使用transform-origin来对元素进行原点位置改变,使元素原点不在元素的中心位置,以达到需要的原点位置。

用法:transform-origin: x-axis y-axis z-axis;

transform-origin属性可以使用一个,两个或三个值来指定,其中每个值都表示一个偏移量。 没有明确定义的偏移将重置为其对应的初始值。

一个值:

  • 必须是 ,或 left, center, right, top, bottom关键字中的一个。

两个值:

  • 其中一个必须是,或left, center, right关键字中的一个。
  • 另一个必须是,或top, center, bottom关键字中的一个。

三个值:

  • 前两个值和只有两个值时的用法相同。
  • 第三个值必须是。它始终代表Z轴偏移量。

  

二、实例


1、以rotate()为例,设置不同的transform-origin,观察效果:


transform-origin取值为center(或center center或50% 或50% 50%或默认):

CSS transform-origin_第2张图片


transform-origin取值为top(或top center或center top或50% 0):

CSS transform-origin_第3张图片 


transform-origin取值为right(或right center 或center right 或 100% 或 100% 50%):

CSS transform-origin_第4张图片


transform-origin取值为bottom(或bottom center 或center bottom 或 50% 100%):

 CSS transform-origin_第5张图片


transform-origin取值为left(或left center或center left或0或0 50%):

CSS transform-origin_第6张图片


transform-origin取值为top left(或left top或0 0):

 CSS transform-origin_第7张图片


transform-origin取值为right top(或top right或100% 0):

CSS transform-origin_第8张图片
transform-origin取值为bottom right(或right bottom或100% 100%):

 CSS transform-origin_第9张图片


transform-origin取值为left bottom(或bottom left 或 0 100%):

CSS transform-origin_第10张图片

注意:CSS3变形中重置元素的原点,位移translate()不受影响。

2、将transform-origin从中心点重置后,rotate()、skew()、scale()之间的效果:


rotate():

CSS transform-origin_第11张图片


skew():

 CSS transform-origin_第12张图片


scale():

CSS transform-origin_第13张图片

 

————————————————
原文链接:https://blog.csdn.net/madman0621/article/details/82453806

你可能感兴趣的:(css,css3,html)