Transform字面上就是变形,改变的意思。在CSS3中transform主要包括以下几种:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix

语法:transform: rotate | scale | skew | translate |matrix

1.旋转rotate

rotate(<angle>) :通过指定的角度参数对原元素指定一个2D rotation(2D 旋转),需先有transform-origin属性的定义。transform-origin定义的是旋转的基点,其中angle是指旋转角度,如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。如:transform:rotate(30deg)

2.移动translate

移动translate我们分为三种情况:translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动);translateX(x)仅水平方向移动(X轴移动);translateY(Y)仅垂直方向移动(Y轴移动)

translate(<translation-value>[, <translation-value>]) :通过矢量[tx, ty]指定一个2D translation,tx 是第一个过渡值参数,ty 是第二个过渡值参数选项。如果 未被提供,则ty以 0 作为其值。也就是translate(x,y),它表示对象进行平移,按照设定的x,y参数值,当值为负数时,反方向移动物体,其基点默认为元素 中心点,也可以根据transform-origin进行改变基点。如transform:translate(100px,20px)

3.缩放scale

缩放scale和移动translate是极其相似,他也具有三种情况:scale(x,y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放);scaleX(x)元素仅水平方向缩放(X轴缩放);scaleY(y)元素仅垂直方向缩放(Y轴缩放),但它们具有相同的缩放中心点和基数,其中心点就是元素的中心位置,缩放基数为1,如果其值大于1元素就放大,反之其值小于1,元素缩小

4.扭曲skew

扭曲skew和translate、scale一样同样具有三种情况:skew(x,y)使元素在水平和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行扭曲变形);skewX(x)仅使元素在水平方向扭曲变形(X轴扭曲变形);skewY(y)仅使元素在垂直方向扭曲变形(Y轴扭曲变形)

skew(<angle> [, <angle>]) :X轴Y轴上的skew transformation(斜切变换)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则值为0,也就是Y轴方向上无斜切。skew是用来对元素进行扭曲变行,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。同样是以元素中心为基点,我们也可以通过transform-origin来改变元素的基点位置。skewX或者Y都是使元素以其中心为基点

比如transform:skew(30deg,10deg)

5.矩阵matrix

matrix(, , , , , ) : 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a b c d e f]变换矩阵。就是基于水平方向(X轴)和垂直方向(Y轴)重新定位元素,此属性值使用涉及到数学中的矩阵,我在这里只是简单的说一下CSS3中的transform有这么一个属性值

6.改变元素基点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,这个看上去有点像我们background-position设置一样

- top left | left top 等价于 0 0 | 0% 0%

- center | center center 等价于 50% 50%(默认值)

- bottom left | left bottom 等价于 0 100% | 0% 100%

CSS3之Transform相关推荐

  1. 通过js获取元素css3的transform rotate旋转角度方法

    我们再试用jquery获取样式的时候是通过$('domName').css('transform'):的方式来获取元素的css样式,但是通过它获取到的css3的transform属性是以矩阵的方式呈现 ...

  2. CSS3 3D transform变换

    transform的坐标是需要了解的特性. 我们的rotateX,rotateY,rotateZ,和translateX,translateY等都是基于相同的坐标系来定位的. 3D的坐标如下入所示: ...

  3. css3缩放 transform: scale() 使用缩放之后顶点对齐问题

    css3缩放 transform: scale() 使用缩放之后顶点对齐问题 注意点:想要将缩放之后的div对齐顶点,那么需要将css属性设置为:transform-origin: 0 0 <d ...

  4. IE8上面的旋转和透明度,利用滤镜属性去处理(兼容css3的transform和rgba())

    1.关于在IE浏览器上面的一个旋转问题 IE8不支持css3的transform属性,因此在兼容ie8的时候需要用到滤镜来进行兼容 语法: 兼容c3属性的浏览器在设置旋转属性的时候: transfor ...

  5. html 字体模糊,详解css3使用transform出现字体模糊的解决办法

    这个问题很奇葩,话不多少直接上代码: .g-dialog-wrapper { position: fixed; top: 50%; left: 50%; transform: translate(-5 ...

  6. CSS3 3D transform

    目录 一.transform简介 1.定义和用法 2.浏览器支持 3.语法 二. 学习步骤 1. 前情提要 2. 什么是3D transform变换 3. 关键点:rotateX, rotateY, ...

  7. 好吧,CSS3 3D transform变换,不过如此!

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=2592 一.写在前面 ...

  8. CSS3 3D transform变换,不过如此

    (这篇关于css 3d的文章算是开启了我的css3d概念了,确实写的很容易理解,小编苦苦寻找的经典好文) 一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王 ...

  9. html旋转角度计算,CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate) | 0101后花园...

    CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate) | 0101后花园 2018-09-26 在CSS3中,可以利用transfor ...

最新文章

  1. ListView style
  2. 深圳餐厅使用iPad点餐(图)
  3. CSS有效的编写代码
  4. [java语言]——InetAddress类的getByName()方法
  5. PHP面试题:你常用到的mysql命令?
  6. 程序员面试100题之七:最长公共子字符串
  7. Linux有问必答:怎么用CheckInstall从源码创建一个RPM或DEB包
  8. td过长,将固定宽度table撑开
  9. Gigaset ME/pure/pro体验:就是这个德味
  10. 小弟个人学习的过程!!!
  11. SpringSecurity Basic Authentication
  12. 全球首发!计算机视觉Polygon Mesh Processing总结7——Remeshing Local Structure
  13. 烧录工具Android Tool的使用
  14. pyhive python连接hive
  15. SQL练习题,50道
  16. 报表系统服务器故障,报表服务器服务启动时的错误消息 - SQL Server | Microsoft Docs...
  17. 基于 Laravel 9 和 Bulma 开发的个人博客
  18. Hive 算两时间差
  19. 这几款高格调的app,让你的人生妖艳起来!
  20. Ardunio开发实例-BMM150数字地磁传感器

热门文章

  1. pytorch线性回归代码_[PyTorch 学习笔记] 1.3 张量操作与线性回归
  2. springboot md5加密_实在!基于Springboot和WebScoket,写了一个在线聊天小程序
  3. python中的类装饰器应用场景_这是我见过最全面的Python装饰器教程了!
  4. 把cpp编译为so_基于VSCode和CMake进行C/C++开发第三讲GCC编译器
  5. flask中 app.run(host='0.0.0.0', port=5000, debug=False) 不能用外网ip访问的解决办法
  6. Exynos4412 内核移植(三)—— 内核启动过程分析
  7. 前端读取文件图片信息流;js读取图片不同信息流;js读取图片;前端就js读取二进制数据;前端js读取文件流使用FileReader对象的readAsDataURL方法来读取图像文件;
  8. [react] 给组件设置很多属性时不想一个个去设置有什么办法可以解决这问题呢?
  9. 前端学习(3110):react-hello-函数式组件
  10. 前端学习(2931):vue里面的虚拟dom和算法