1.先说说css的坐标系:

x轴的正方向就是水平向右的方向

y轴的正方向就是垂直向下的方向

z轴的正方向就是屏幕到用户的方向

2.位移

  • 说明:位移是转换属性中的一个值,包含2d与3d
属性值 说明
translate(x,y) 2d位移
translateX(n) 2d位移,设置x轴方向的位移
translateY(n) 2d位移,设置y轴方向的位移
translate3d(x,y,z) 3d位移
translateZ(n) 3d位移,设置z轴方向的位移
  • 参数值:参数可以是具体的像素值,也可以是百分比(基于自己的宽高)
  • 注意:行内元素无法应用translate
transform: translate(200px,0);

3.缩放

  • 说明:缩放是转换属性中的一个值
属性值 说明
scale(x,y) 如果只传了一个值,则表示x,y都是这个值
scaleX(n) 设置x轴方向的缩放
scaleY(n) 设置y轴方向的缩放
scale3d(x,y,z) 3d缩放
transform:scale(2);

  • 注意:即使使用scale()将元素方法缩小了,在使用getComputedStyle()获取元素大小时值永远都是不变的。属性事件对象中的event.offsetX/event.offsetY也永远是scale=1时的大小,也就是说,坐标轴会跟着缩放

3.旋转

  • 说明:旋转是转换属性中的一个值
属性值 说明
rotate(angle) 2d旋转,顺时针方向
rotateX(angle) 2d旋转,围绕x轴旋转
rotateY(angle) 2d旋转,围绕y轴旋转
rotateZ(angle) 2d旋转,围绕z轴旋转
rotate3d(x,y,z,45deg) 3d旋转:x,y,z的值将构成一个矢量,即轴的方向,第四个值为旋转角度
transform:rotate(45deg)

4.转换基点

  • 相关属性:transform-origin,用来设置元素transform时的基点(x,y,z),默认为元素的中心,也就是center center
示例值类型 示例
具体数值 50px
关键字 left right top bottom center
百分比 20%(基于元素大小)

我们前面的旋转的例子就是基于元素中心进行旋转的

将转换基点修改成左上角

transform-origin: 0 0;

5.3d模式

  • 如果元素的transform涉及了3个维度,需要开启其3D模式才能才有效果,否则只能看见一个平面,如图,右边的方块围绕Y轴进行旋转,在2D模式下,我们只能看见其宽度变窄,无法得知其旋转方向

  • 如果需要开启3D视角,需要在其父容器中设置3d模式和视距(视距:近的的物体就看上去就大,渲染出来尺寸也大,远的物体看上去就就小,渲染出来尺寸也小。如果一个物体的translateZ为正值,说明他凸出了屏幕水平,离观众越近,那么他实际渲染的尺寸会小于设定的尺寸,反正则亦然。perspective的值越大,则实际渲染的尺寸与设定的尺寸相差的越小)

transform-style: preserve-3d;
perspective: 1000px;

rotateX效果

transform:   rotateX(360deg);

rotateY效果

transform:   rotateY(360deg);

rotateZ效果

transform:   rotateZ(360deg);

6.scale与translate共用

  • 注意:如果scale()在前,则实际位移 = 设定的位移 * scale的倍数,建议把translate()写在前面
transform: translate(300px,0) scale(2) ;
//以 容器的中心点来计算,容器位移了300px transform: scale(2) translate(200px,0);
//以 容器的中心点来计算,容器位移了400px
transform: scale(3) translate(100px,0);
//以 容器的中心点来计算,容器位移了300px
transform: scale(0.5) translate(200px,0);
//以 容器的中心点来计算,容器位移了100px

7.translate()和rotate()共用

  • 注意:rotate()写在translate前面的话会改变坐标系,从而改变translate的设定,所以是要是设置多值的话,建议把translate()写在前面

CSS3 transform转换的更多相关文章

  1. CSS3 Transform变形(2D转换)

    Transform:对元素进行变形:Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.但只有两个关键贞.开始,结束.Animation:对元素某个属性 ...

  2. 【CSS3】 理解CSS3 transform中的Matrix(矩阵)

    理解CSS3 transform中的Matrix(矩阵) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu ...

  3. 理解CSS3 transform中的Matrix(矩阵)

    一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵) ...

  4. css3 2d转换3d转换以及动画的知识点汇总

    css3 2d转换 2d转换的方法: 1.移动 translate(x, y) 可以改变元素的位置,x.y可为负值: 2.缩放 scale(x, y) 可以对元素进行水平和垂直方向的缩放,x.y的取值 ...

  5. 20190404-transition、transform转换、animation、媒体查询

    目录 1.transition过渡 1.1简写:transiton:transition-property | transition-duration | transition-timing-func ...

  6. CSS3 transform 属性

    CSS3 transform 属性 语法: transform: none|transform-functions; 值 描述 none 定义不进行转换. matrix(n,n,n,n,n,n) 定义 ...

  7. 基于css3 transform实现散乱的照片排列

    分享一款基于css3 transform实现散乱的照片排列.这是一款简单零散的css3相册排列特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class= ...

  8. 理解CSS3 transform中的Matrix(矩阵)——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2427 一.哥,我被你 ...

  9. CSS3 Transform变形理解与应用

    CSS3 Transform变形理解与应用 Transform:对元素进行变形:Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.但只有两个关键贞.开 ...

  10. css3 transform:scale(x)实现字体的缩放:

    css3 transform:scale(x)字体的缩放: transform:scale(x),针对于整体的缩放,缩放的整体包括宽,高,背景.这自然对于内联元素就无法使用此属性,最好使用无属性的sp ...

随机推荐

  1. Transformer应用于时序任务:综述《Transformers in Time Series: A Survey》

    2022年9月13日 21:28 摸鱼了一天,看看综述. 论文:Transformers in Time Series: A Survey GitHub: 阿里达摩院 2022的论文. 摘要 从两个角 ...

  2. SEO – 大杂烩

    参考: Google SEO 官网 Docs Zac 大神博客 Globalization 国际化语言 The Ultimate Guide to Multilingual and Multiregi ...

  3. 关于HOJ的搭建和二开经验小结

    经验在最后,先说流程. 除了HOJ,之前先装的HDU,属实难用,然后是hustOJ,嗯很好用,但架不住丑,对管理员实在不友好. 好了不闲记,进入正题: 一.流程 1.官网文档先过一遍. 2.配置好do ...

  4. ScanFormer:逐层抵达目标,基于特征金字塔的指代表达理解框架 | CVPR'24

    指代表达理解(REC)旨在在图像中定位由自由形式自然语言描述指定的目标对象.尽管最先进的方法取得了令人印象深刻的性能,但它们对图像进行了密集感知,包含与语言查询无关的多余视觉区域,导致额外的计算开销. ...

  5. Go 学习路线图

    基础阶段 学习内容: 掌握 Go 的基本语法,包括变量.常量.数据类型(如整数.浮点数.字符串.布尔值.数组.切片.映射等).运算符等. 理解程序的控制流,如条件语句(if-else.switch-c ...

  6. SXYZ-7.4训练赛

    今天这场比赛把人心态考崩溃了,只考100分钟,四道思考和算法题,旁边大佬开局5分钟秒T1,我30分钟打了个T1暴力.┭┮﹏┭┮,呜呜~.T2,T4根据题意暴力.T3人手模拟了一下,完全没有任何思路,放 ...

  7. SpringCloud入门(四)Ribbon负载均衡

    一.Ribbon负载均衡原理SpringCloud底层其实是利用了一个名为Ribbon的组件,来实现负载均衡功能的. SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTempl ...

  8. git 设置代理和取消代理

    1.设置代理 git config --global http.proxy "127.0.0.1:1080" 2.取消代理 git config --global --unset ...

  9. LinearRegression线性回归

    1.LinearRegression将方程分为两个部分存放,coef_存放回归系数,intercept_则存放截距,因此要查看方程,就是查看这两个变量的取值. 2.回归系数(regression co ...

  10. 2022年第十八届 GOPS 全球运维大会资料分享

    全球运维大会是国内第一个运维行业大会,面向互联网.金融.通信及传统行业广大运维技术人员,旨在传播先进技术思想和理念,分享业内最佳实践. 2022年第十八届 GOPS 全球运维大会(深圳站)共分为18个 ...