transform origin(perspective-origin和transform-origin的区别)
本文目录
- perspective-origin和transform-origin的区别
- 如何改变transform-origin
- transform-origin怎么用
- 如何css给同一对象先后设置两次不同的transform-origin并执行两次不同的旋转
- css的transform-origin-z为什么不能用百分比
perspective-origin和transform-origin的区别
perspective-origin和transform-origin的区别做一个比喻。你站在一个房子前。从近到远看到的结果是不是不一样的?这跟perspective的结果是一样的。但是一点perspective为0的时候是无穷大。 另外。正常来说。在网页上做出了3D的效果。就是想让用户体验到最正常完整的图片。这样的话是不是就是要距离相对较远才可以看到正常的形态呢?不知道这么说你能不能理解。希望对你有帮助。
如何改变transform-origin
1、改变元素基点transform-origintransform-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: ?transform-origin接受两个参数,它们可以是百分比,em,px等具体的值,也可以是left,center,right,或者 top,center,bottom等描述性参数 ;top left | left top 等价于 0 0;top | top center | center top 等价于 50% 0right top | top right 等价于 100% 0left | 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%;如果只取一个值,表示垂直方向值不变。注: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;}
transform-origin怎么用
RenderTransformOrigin 是个点Point,该值指定变换原点。RenderTransform 是一个变换Transform, 可以是RotateTransform、ScaleTransform、SkewTransform、TranslateTransform、MatrixTransform、TransformGroup之一。
如何css给同一对象先后设置两次不同的transform-origin并执行两次不同的旋转
原点设置一次即可,不需要多次设置,只要在转180度以后,再次旋转180度(也就是从180度转到360度)即可,继续累加就继续转(可以超过360度)。比如:
《style》div { position:absolute; left:200px; top:200px; transform-origin:-30px center; transition:all 1s}《/style》《button》旋转180度《/button》《div》文字A《/div》《script》var jd=0;window.onload=function(){ document.querySelector("button").onclick=function(){ jd+=180; document.querySelector("div").style.transform="rotate("+jd+"deg)"; }}《/script》
css的transform-origin-z为什么不能用百分比
能否用百分比,需要看有没有参照物,也就是说必须知道100%究竟是多少,然后才能知道百分之几是多少,这个按理小学高年级以上都能理解吧?在CSS3的3D转换上,x轴和y轴都是有参照物的,那就是屏幕的长和宽(虽然名义上是上级元素的长宽,但实际上都是建立在显示器的物理分辨率上的),所以在x轴和y轴的转换上是可以用百分比的。但是z轴(就是垂直于屏幕表面的坐标轴)是没办法用百分比的,因为z轴的100%究竟是指离屏幕表面多远呢?
本文相关文章:
transform origin(如何css给同一对象先后设置两次不同的transform-origin并执行两次不同的旋转)
2024年7月18日 05:57
transform origin(transform-origin怎么用)
2024年5月20日 23:59
更多文章:
thinkpad new s3(thinkpad new s3 掉帧)
2024年7月23日 01:28