首页 > 其他分享 >CSS3转换

CSS3转换

时间:2022-09-21 11:59:36浏览次数:89  
标签:CSS3 转换 定义 缩放 元素 2D 移动 3D

简介

CSS transform 属性允许你旋转,缩放,倾斜或平移给定元素。这是通过修改 CSS 视觉格式化模型的坐标空间来实现的。

转换( transform) 你可以简单理解为变形。只能转换由盒模型定位的元素(display: block;)。

  • 移动:translate
  • 旋转:rotate
  • 缩放:scale
  • 倾斜:skew
  • 矩阵变换:matrix

3D 特点

  • 近大远小。
  • 物体后面遮挡不可见

三维坐标系

  • x轴:水平方向,边是正值,左边是负值
  • y轴:竖直方向,面是正值,上面是负值
  • z轴:垂直屏幕,往面是正值,往里面是负值

透视

  • 如果想要在网页产生 3D 效果,需要透视。
  • 父盒子有了透视才能看到 Z轴 方向引起的变化。
  • 透视也称为视距,就是人的眼睛到屏幕的距离。
  • 透视越小,在电脑平面成像越大,立体感更好;透视越大,在电脑平面成像越小。
/* 透视需要写在被观察元素的父盒子上面*/ 
/* 透视的单位是像素 */
perspective: 200px;

translate移动

  • 沿着X、Y轴移动元素
  • 元素依然会占据其原始空间,不会影响网页其它元素的布局
  • 移动距离设为,百分比是相对于自身
  • 对行内标签无效

2D移动

translate(x,y) 定义 2D 移动,沿着 X 和 Y 轴移动元素
translateX(n)  定义 2D 移动,沿着 X 轴移动元素
translateY(n)  定义 2D 移动,沿着 Y 轴移动元素

3D移动

translate3D(x,y,z) 定义 3D 移动
translateX(x)      定义 3D 移动,仅使用用于 X 轴的值
translateY(y)      定义 3D 移动,仅使用用于 Y 轴的值
translateZ(z)      定义 3D 移动,仅使用用于 Z 轴的值

rotate旋转

  • 设置元素转换的中心点。语法:transform-origin: x y;
  • rotate里面跟度数,单位是 deg,比如rotate(45deg)
  • 角度为正时,顺时针旋转;角度为负时,逆时针旋转
  • 默认旋转的中心点是元素的中心点
  • 不影响其他盒子的布局

2D旋转

rotate(deg)  定义 2D 旋转,在参数中规定角度,以Z轴为旋转轴

3D旋转

rotate3D(x,y,z,deg);
rotateX(deg)  函数功能等同于rotate3D(1,0,0,par) 以X轴为旋转轴
rotateY(deg)  函数功能等同于rotate3D(0,1,0,par) 以Y轴为旋转轴
rotateZ(deg)  函数功能等同于rotate3D(0,0,1,par) 以Z轴为旋转轴

scale缩放

  • transform-origin: x y; 设置缩放中心点
  • 默认以中心缩放
  • 不影响其他盒子的布局

2D缩放

scale(x,y)  定义 2D 缩放,改变元素的宽度和高度 
scaleX(n)   定义 2D 缩放,改变元素的宽度 
scaleY(n)   定义 2D 缩放,改变元素的高度

3D缩放

scale3D(x,y,z)   定义 3D 缩放
scaleX(x)        定义 3D 缩放,通过给定一个 X 轴的值
scaleY(y)        定义 3D 缩放,通过给定一个 Y 轴的值
scaleZ(z)        定义 3D 缩放,通过给定一个 Z 轴的值

skew倾斜

该函数定义了一个元素在二维平面上的倾斜转换,可用于实现平行四边形

  • skew(x,y)使元素在水平和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行扭曲变形)
  • skewX(x)仅使元素在水平方向扭曲变形(X轴扭曲变形)
  • skewY(y)仅使元素在垂直方向扭曲变形(Y轴扭曲变形)

转换综合写法

transform: translate(50%,.50%) rotate(45deg) scale(2);
  • 同时使用多个转换,其格式为:transform: translate(50%,.50%) rotate(45deg) scale(2);
  • 其顺序会影转换的效果。先旋转会改变坐标轴方向。
  • 当我们同时有位移和其他属性的时候,记得要将位移放到最前。

matrix矩阵变换

matrix()是CSS的transform的一个基础属性,用它可以实现很多高级、复杂的效果,实际上transfrom的translate、rotate等都是在matrix的基础上实现的简化版的语法。

CSS 函数 matrix() 指定了一个由指定的 6 个值组成的 2D 变换矩阵。这种矩阵的常量值是隐含的,而不是由参数传递的;其他的参数是以列优先的顺序描述的。

详情请参考:https://www.cnblogs.com/engeng/p/15156881.html

标签:CSS3,转换,定义,缩放,元素,2D,移动,3D
From: https://www.cnblogs.com/qianduanLamp/p/16714488.html

相关文章

  • CSS3过渡
    简介transitionCSS属性是transition-property,transition-duration,transition-timing-function和transition-delay的一个简写属性。transition:[transition-proper......
  • 计算机基础二进制转换定理
    在计算机中所有的二进制都使用补码表示的1.任何数和0相乘都等于02.任何数的0次方=13.小数除大数商为0于数为它本身4.数的负次方5.商和于数的问题 数码十六进制......
  • 【亲测可用】将Evernote的enex文件转换为Markdown!
    enex文件转换为MarkdownEvernote2md是一个桌面工具,可将以*.enex格式导出的Evernote笔记转换为带有markdown文件的目录。先从印象笔记导出 enex格式。然后选取enex格式......
  • Oracle 行列转换
    Oracle行转多行文章引用:https://blog.csdn.net/jean852001/article/details/109338337select*from(selectenbid,REGEXP_SUBSTR(v_list,'[^,]+',1,lv)v_valu......
  • 【中科三方】IPv6转换常见问题盘点
    1、IPv6改造升级有哪几种方式?IPv6的升级改造解决IPv4和IPv6网络共存状况下的互联互通,目前主要有三种策略:双栈协议:设备升级到IPv6的同时保留IPv4支持;应用程序可以选择使用......
  • 获取需要转换的时区之后再获取时间
      获取需要转换的时区之后再获取时间importjava.text.SimpleDateFormatTimeZonetimeZone=TimeZone.getTimeZone("GMT-7:00")SimpleDateFormatsdf=newSimpleDa......
  • JavaScript 类型转换
    强制类型转换        -指将一个数据类型强制转换为其他的数据类型        -类型转换主要指,将其他的数据类型,转换为      ......
  • C++进制转换题
    C++进制转换题159.102InstructionsforAssignment1Assignment1startsinWeek2andisdueinWeek5(ThursdaySep.22,2022at7pm)(ChinaTime).Youshouldpl......
  • Java:Json与List对象的相互转换
    谷歌的Gson.jar://list转换为jsonGsongson=newGson();List<Person>persons=newArrayList<Person>();Stringstr=gson.toJson(persons);//json转换为listGs......
  • 【C#】无损转换Image为Icon
     https://www.cnblogs.com/ahdung/p/ConvertToIcon.html 备忘【C#】无损转换Image为Icon如题,市面上常见的方法是:varhandle=bmp.GetHicon();//得到图标句柄......