首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

css变换原点不是从中心缩放

CSS变换原点不是从中心缩放是指在CSS中进行缩放变换时,变换的原点不是元素的中心点。

CSS变换包括平移(translate)、旋转(rotate)、缩放(scale)和倾斜(skew)等操作。在进行缩放变换时,默认情况下,变换的原点是元素的中心点。也就是说,元素会以自身中心点为基准进行缩放操作。

然而,有时候我们希望以元素的其他位置作为变换的原点,而不是中心点。这时,可以通过CSS的transform-origin属性来指定变换的原点。

transform-origin属性接受两个值,分别表示水平和垂直方向上的偏移量。可以使用像素值、百分比值或关键字来指定偏移量。例如,transform-origin: 50% 50%表示以元素的中心点为原点,transform-origin: 0% 0%表示以元素的左上角为原点。

通过指定不同的transform-origin值,可以实现以不同的位置为基准进行缩放变换。这在一些特殊的设计需求中非常有用,例如实现元素的局部缩放效果或实现元素的某个角落进行缩放等。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云CSS:https://cloud.tencent.com/product/css
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS3变形属性

首先讨论元素在2D平面如何变换,然后在进入3D变换的讨论。CSS32D变换让Web设计师有了更多的自由来装饰和变形HTML组件,同时有更多的功能装饰文本和更多的动画选项来装饰div元素。...可以简单理解为,使用translate()函数可以把元素从原来的位置移动,而不影响在 X、 Y 轴上任何组件。...2D缩放 缩放函数scale()让元素根据中心原点对对象进行缩放, 默认值为 1。因此0. 01到 0. 99之间的任何值,使一个元素缩小;而任何大于或等于 1. 01的值, 让元素显得更大。...如果这个值为正值,元素相对原点中心顺时针 旋转;如果这个值为负值,元素相对原点中心逆时针旋转。 rotate()函数只接受一个值a,代表旋转的角度值。其取值可以是正的,也可以是负的。...skew()函数和CSS3变形中的 translate()、scale()函数一样,除了可以使用 skew( tx, ty)函数让元素相于元素中心为原点在X轴和Y轴倾斜之外,还可以使用使用 skewX(

2K10
  • 【CSS3】CSS3 2D 转换 - 三种变换的综合写法 ( 同时进行 移动 旋转 缩放 变换 | 代码示例 )

    一、三种变换的综合写法 - 同时进行 移动 / 旋转 / 缩放 变换 CSS3 的 2D 转换有 移动 / 旋转 / 缩放 , 上述 三种 变换 可同时使用 , 使用语法如下 : transform:...translate() rotate() scale() 多个 变换 之间 , 使用空格隔开 ; 同时 设置了 多个 变换 样式 , 变换的 先后顺序 影响 最终的结果 , 如 :旋转 会 改变 坐标轴方向..., 位移 会 改变 中心点位置 ; 如果 多种 变换 中有 位移变换 , 则 位移 变换 需要 写在最前面 ; 代码示例 : 下面的代码中 , 使用了 旋转 rotate , 位移 translate..., 缩放 scale 变换样式 , 该 div 元素 , 会先 顺时针 旋转 30 度 , 再 x 轴方向 移动 50 像素 , y 轴方向 移动 100 像素 , 最后在 x 轴方向 放大 1.2...maximum-scale=1.0,minimum-scale=1.0"> CSS3

    30230

    原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理

    matrix 来完成上述所有操作,这涉及到矩阵变换的知识,本文使用的均是CSS提供的语法糖进行变换操作。...${origin}`, `transform: translate(${offset.left + 'px'}, ${offset.top + 'px'}) scale(${scale})`])}因为缩放始终都以图片中心为原点进行缩放...,而缩放原点还在默认的图片中心,就和PC端一样我们还要改变原点才显得自然,对于双指缩放来说,改变的只是两点间距离,无论双指间距如何改变,两点连成的线段中心点是不会变的,所以我们只要通过两点求出中心点坐标然后设置为缩放原点坐标即可...我们画两张图看下,在原点变化的前后图像的坐标点发生了哪些变化:图片如上图,原点为 O 时,我们取右下角的点设为点 A,图像放大2倍时 A 点变换到 B 点。...图片而当原点突然变为 O’ 时,点 A 在图像放大2倍时则变换到了 B' 点。

    3.5K81

    「实战」如何用H5实现原生体验的图片预览组件

    二、实现基础 图片预览组件目前是基于alloyFinger.js来做手势支持,transform.js来做CSS3的变换,to.js来做动画的过渡函数。...双击缩放和双指缩放的原理差不多,都是需要先设置css3的transform的坐标变换中心origin,只不过双指缩放是以两个手指连线的中点作为缩放原点。...ps:对于transform.js的origin,默认是0表示是图片50%的位置,只能设置px值不能设置比例 例如下图中,图1是当前图片从当前中心点放大两倍的情况,实际上等同与从图2平移到图3。...(1) 当图片的缩放原点origin为(0,0)时 以X轴为例,假设图片宽度为w,放大倍数为s,则translateX的区间为 图示边界的四种情况: (2) 但实际过程中,因为图片的原点origin...而且实际的惯性滑动距离,也是跟当前的速度有关,而不是一个恒定的比例值。这里后期优化的时候,会考虑这些点。 6.

    3.1K20

    这是一篇很好的互动式文章,Framer Motion 布局动画

    当我们把位置和大小的变化结合起来时,我们在逆向步骤中进行了两个独立的变换--平移和缩放。...缩放变换似乎是这里的罪魁祸首--它从正方形的中心开始缩放,导致正方形最终出现在错误的位置。...如果用户想要一个不同的变换原点呢?在这种情况下,布局动画应该仍然有效。 诀窍在于确保 inverse 步骤比较了两个方块的变换原点之间的距离。...换句话说,这个错误的发生是因为测量的距离和变换原点之间的差异:getBoundingClientRect()返回元素的左上角,而变换原点默认是在元素的中心。...有了这个见解,我们也可以通过使用中心之间的距离而不是左上角的点来解决这个问题。 纠正子元素的变形 到目前为止,我们已经能够制作一个布局动画,可以无缝过渡到大小和位置的变化。

    2.8K20

    前端课程——变形

    CSStransform包括一系列 CSS属性,通过这些属性可以对HTML元素进行变形。可以进行的变形包括旋转,倾斜,缩放以及位移,同时适用于平面以及三维空间。...transform-origin CSS属性让你更改一个元素变形的原点默认情况,变形的原点在元素的中心点,或者是元素X轴和Y轴的50%处。...虽然在 2D 中不可见,但是当变换导致元素在 3D 空间中旋转时,背面可以变得可见。 (此属性对 2D 变换没有影响,它没有透视。)...缩放 根据元素中心点缩放 scale(X,Y)缩放 X表示水平方向 Y表示垂直方向 值范围 0~1之间的值,表示缩小 大于1,表示放大 注意 以元素中心点为核心进行缩放...缩放的默认中心点为元素中心,并不是左上角。

    1.1K30

    CSS3旋转实例学习(附3D旋转实例)

    scale(X,Y)是用于对元素进行缩放,可以通过transform-origin对元素的基点进行设置,同样基点在元素中心位置;基中X表示水平方向缩放的倍数,Y表示垂直方向的缩放倍数,而Y是一个可选参数...5、矩阵变形matrix(, , , , , ) : 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a b c d e f]变换矩阵。...()方法来将元素相对中心原点进行旋转。...语法: transform:rotate(度数); 说明: 度数指的是元素相对中心原点进行旋转的度数,单位为deg。其中,deg是degree(度数)的缩写。...如果度数为正,则表示元素相对原点中心顺时针旋转;如果度数为负,则表示元素相对原点中心进行逆时针旋转。

    3.1K21

    生成组合仿射变换矩阵,裁剪+缩放+平移+斜切+旋转

    本文通过结合一个实际的例子(根据 bounding box 从图片中裁剪出特定的区域,然后做旋转、斜切和缩放等操作)来讲解如何通过一个简单的方法生成组合操作的仿射变换矩阵。...2、缩放矩阵 第二个矩阵是根据输出大小作缩放,假设裁剪出来之后需要把图片大小缩放为 [outW,outH],则缩放矩阵为: 3、平移矩阵 第三个矩阵是为了第四个旋转做准备的,首先把图中心点平移到左上角的原点...,经过前两个变换之后,图片中心点变为[outW/2,outH/2],相当于把该点平移到左上角的原点,则平移矩阵为: 4、旋转矩阵 然后以原点为中心旋转 度,则旋转矩阵如下: 需要注意的是计算公式中的...5、斜切矩阵 接着假设斜切变换因子是 , 和 方向可以单独设置,这里是统一设为一个值了,则斜切矩阵如下: 6、平移矩阵 最后做完变换之后,再把原点平移回原来的中心点,平移矩阵如下:...得到最后的组合矩阵 最后把这6个矩阵做矩阵乘法(注意不是矩阵点乘)就得到最终的组合矩阵,注意哪个变换先做则优先排在右边,所以最后的矩阵是: 实验结果 标注框信息: 。

    4.4K30

    CSS3 动画

    渐变渐变指在两个或多个指定的颜色之间显示平稳的过渡,渐变一般分为线性渐变和径向渐变,呈一条直线渐变的称作线性渐变,而从圆心到四周扩散的过程成为径向渐变从左到右的线性渐变,起点是完全透明,慢慢过渡到完全不透明的红色...,让元素根据中心原点对对象进行缩放,默认的值 1。...小于 1 则元素缩小,反之放大scale(num) 横坐标与纵坐标同时缩放 num 倍scale(num1, num2) 横坐标缩放 num1 倍,纵坐标缩放 num2 倍scaleX(num1) 横坐标缩放...num1 倍scaleY(num2) 纵坐标缩放 num2 倍rotate() 旋转函数,接受一个角度值,用来指定旋转的幅度,如果这个值为正值,元素相对原点中心顺时针旋转,若为负值,则逆时针旋转,可通过...bottomtransform: rotate(50deg); 顺时针旋转 50 度transform: rotate(-50deg); 逆时针旋转 50 d度skew() 倾斜函数,可以将一个对象以其中心位置围绕着

    76220

    css-transform

    transform 2D变换 rotate旋转,只有一个参数 单位角度:deg scale缩放 一个参数:水平和垂直同时缩放 transform:scale(1.1) 两个参数:第一个参数指定水平方向的缩放倍率...水平方向对应垂直方向的角,垂直方向对应方向的角 skew的默认原点transform-origin是这个物件的中心点 变换基点 transform-origin 默认基点为中心点,可以通过关键词设置坐标值或关键词改变基点...transform 3D变换 变换风格transform-style flat:没有3D效果。不是默认值。...3D旋转:CSS3中的3D旋转主要包括rotateX()、rotateY()、rotateZ()和rotate3d()四个功能函数; scale3d(sx,sy,sz) sx:横向缩放比例; sy...:纵向缩放比例; sz:Z轴缩放比例; 3D缩放:CSS3中的3D缩放主要包括scaleZ()和scale3d()两个功能函数; rotate3d(x,y,z,a) x:是一个0到1之间的数值,主要用来描述元素围绕

    1.1K20

    SVG的动态之美-搜狗地铁图重构散记

    抛开大量的计算和DOM操作不谈,从视觉上表现如图4所示: ? 为什么气泡和起终点等节点没有同比例缩放?因为这些节点不是矢量的SVG,缩放会失真。...大家可以想象一下在手机上用两根手指缩放地铁图的场景,我们需要知道地铁图应该以屏幕上的哪一点作为中心进行缩放。从技术角度来讲,我们需要知道两个触控点的中心位置坐标。...这个问题的有两个难点: CSS与SVG坐标的差异性; SVG没有transform-origin的概念和功能,但是我们需要借助CSS的transform-origin计算缩放中心,这进一步复杂化了换算逻辑...SVG的“transform-origin” SVG与CSStransform的相同点是:两者都是以自身为变换坐标系。但SVG的transform原点不能改变,永远都是自身的左上角,即(0,0)。...先将SVG偏移到点(50,30);然后再将SVG放大1.5倍(请谨记SVGtransform的原点是自身的左上角);最后再将SVG反向偏移(50,30)。具体变换过程可以参考图13: ?

    2.2K01

    SVG + 动画 实现一个有个性的404页面

    页面比较普通,我们可以通过 SVG 加动画来实现一个有个性的页面 效果 代码片段 实现 在undraw网站下载喜欢的插画,下载格式为 svg 将 svg 转为 HTML 网页 观察 dom 元素将几个元素添加 css3...动画 svg 旋转 左 HTML 元素,右 SVG 元素 看了张鑫旭老师的博客《理解 SVG transform 坐标变换》,由于 SVG 元素的默认是 SVG 左上角为中心变换的。...实现 SVG 元素居中缩放的效果,可以使用 translate 手动偏移,先偏移回原点,缩放旋转后再偏移回来。...下面是主要 css 代码 @keyframes movecard { 0% { transform: translate(340px, 135px) rotate(-8deg) translate...8deg) translate(-340px, -135px); } } .card { animation: movecard 5s ease-in infinite alternate; } 是不是很简单

    57020

    玩转 CSS3 3D 变换:打造炫酷立体网页效果

    ✍CSS3 立体 3D 变换 1 坐标轴 在计算机图形学中,2D场景仅包含两个维度,即水平的X轴和垂直的Y轴。而在3D场景中,除了X轴和Y轴之外,还增加了一个维度,即Z轴。...CSS3中的3D变换主要包括以下几种功能函数: 3D位移 包括 translateZ() 和 translate3d(x, y, z) 两个函数,分别用于在Z轴方向上和三维空间中进行位移。...要产生近大远小的视觉感受,需要满足以下两个条件: 设置 perspective 视距 在 Z 轴上进行变换操作(如平移、旋转、缩放) 在程序中实现 perspective 透视效果的方法时,视线的距离(...7 平移 translate()方法,根据左(X 轴)和顶部(Y 轴)位置给定的参数,从当前元素位置移动。...在CSS3 3D变形中,主要的缩放函数包括 scaleZ() 和 scale3d()。

    13910

    实验4 二维几何变换

    sx,sy,sz指定这个缩放物体的矩阵,分别表示在x,y,z方向上的缩放比例,它们可以是任意的实数值,当缩放参数为负值时,该函数为反射矩阵,缩放相对于原点进行,后缀为f(单精度浮点float)或d(双精度浮点...注意这里都是说“把当前矩阵和一个表示移动缩放>物体的矩阵相乘”,而不是直接说“这个函数就是旋转”或者“这个函数就是移动”,这是有原因的,马上就会讲到。...(投影变换) ④ 我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分,而不是全部(指定在显示器窗口的那个位置显示)。(视口变换) 这些,都可以在OpenGL中实现。...//设置显示的范围是X:-5.0~5.0, Y:-5.0~5.0 glMatrixMode (GL_MODELVIEW); } void drawSquare(void) //绘制中心在原点...//设置显示的范围是X:-5.0~5.0, Y:-5.0~5.0 glMatrixMode (GL_MODELVIEW); } void drawSquare(void) //绘制中心在原点

    1.1K20
    领券