CSS3——3D变形 transform

简介: CSS3——3D变形 transform

3D变形(CSS3) transform


2d x y


3d x y z


左手坐标系


伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上,中指指向前方。这样我们就建立了一个左手坐标系,拇指、食指和中指分别代表X、Y、Z轴的正方向。如下图



CSS3中的3D坐标系与上述的3D坐标系是有一定区别的,相当于其绕着X轴旋转了180度,如下图



简单记住他们的坐标:


x左边是负的,右边是正的


y 上面是负的, 下面是正的


z 里面是负的, 外面是正的


rotateX()



就是沿着 x 立体旋转.


img {
  transition:all 0.5s ease 0s;
}
img:hove {
  transform:rotateX(180deg);
}


rotateY()


沿着y轴进行旋转



img {
  transition:all 0.5s ease 0s;
}
img:hove {
  transform:rotateX(180deg);
}


rotateZ()


沿着z轴进行旋转


img {
  transition:all .25s ease-in 0s;
}
img:hover {
  /* transform:rotateX(180deg); */
  /* transform:rotateY(180deg); */
  /* transform:rotateZ(180deg); */
  /* transform:rotateX(45deg) rotateY(180deg) rotateZ(90deg) skew(0,10deg); */
}


透视(perspective)


电脑显示屏是一个2D平面,图像之所以具有立体感(3D效果),其实只是一种视觉呈现,通过透视可以实现此目的。


透视可以将一个2D平面,在转换的过程当中,呈现3D效果。


透视原理: 近大远小 。


浏览器透视:把近大远小的所有图像,透视在屏幕上。


perspective:视距,表示视点距离屏幕的长短。视点,用于模拟透视效果时人眼的位置

注:并非任何情况下需要透视效果,根据开发需要进行设置。


perspective 一般作为一个属性,设置给父元素,作用于所有3D转换的子元素


理解透视距离原理:



translateX(x)



仅水平方向移动(X轴移动)


主要目的实现移动效果


translateY(y)


仅垂直方向移动(Y轴移动)



translateZ(z) ( 多做测试理解 )


transformZ的直观表现形式就是大小变化,实质是XY平面相对于视点的远近变化(说远近就一定会说到离什么参照物远或近,在这里参照物就是perspective属性)。比如设置了perspective为200px;那么transformZ的值越接近200,就是离的越近,看上去也就越大,超过200就看不到了,因为相当于跑到后脑勺去了,我相信你正常情况下,是看不到自己的后脑勺的。


translate3d(x,y,z)


其中,x和y可以是长度值,也可以是百分比,百分比是相对于其本身元素水平方向的宽度和垂直方向的高度和;z只能设置长度值


backface-visibility


backface-visibility 属性定义当元素不面向屏幕时是否可见。


案例1:旋转的轮播图



案例2:开门大吉




案例地址:https://yangyongli.blog.csdn.net/article/details/113177328


案例3:导航栏旋转



案例地址:https://yangyongli.blog.csdn.net/article/details/113177328

相关文章
|
1月前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
31 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
3月前
|
前端开发 JavaScript
|
3月前
|
前端开发
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
|
3月前
|
前端开发
CSS动画变形宝典:Transform属性,打造动态视觉盛宴!
CSS动画变形宝典:Transform属性,打造动态视觉盛宴!
|
5月前
|
前端开发 JavaScript UED
CSS进阶-3D变换与透视效果
【6月更文挑战第15天】CSS3的3D变换和透视效果增强了网页的深度感。通过`rotateX/Y/Z`旋转和`translateZ`移动,结合`perspective`属性可创建3D空间。`perspective`定义观察者与Z轴的距离,影响元素的缩放感。常见问题包括过度失真和元素遮挡顺序,可通过调整`perspective`值和使用`z-index`解决。进阶技巧涉及层叠上下文理解和3D卡片翻转效果,通过实践与探索,设计师能更好地利用这些工具创新用户体验。
110 6
|
4月前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】3d-boxes-background
【HTML+CSS+JavaScript】3d-boxes-background
34 0
|
4月前
|
前端开发 JavaScript
前端 CSS 经典:3D Hover Effect 效果
前端 CSS 经典:3D Hover Effect 效果
53 0
|
4月前
|
前端开发 JavaScript
前端 CSS 经典:3D 渐变轮播图
前端 CSS 经典:3D 渐变轮播图
114 0
|
6月前
|
前端开发 UED
【专栏:CSS 进阶篇】CSS3 新特性:过渡、动画与变形
【4月更文挑战第30天】CSS3的过渡、动画和变形三大特性为网页设计注入活力,创造生动丰富的用户体验。过渡提供平滑效果,常用于按钮点击等;动画实现复杂动态效果,适用于滚动字幕等;变形允许元素几何变换,如旋转和缩放。实际应用包括动态导航菜单、图片轮播和加载动画。然而,需注意浏览器兼容性、性能优化和设计平衡。掌握这些特性,将为网页设计带来更多创新可能。
169 1
|
6月前
|
前端开发
纯css实现的3D立体鸡蛋动画视觉效果
纯css实现的3D立体鸡蛋动画视觉效果
68 6
纯css实现的3D立体鸡蛋动画视觉效果