CSS3的3D相关属性总结

简介: 项目中遇到微交互、增加页面用户体验的需求,运用CSS3的transform变化的3D属性就可以达到效果。

CSS3的3D相关属性总结



概述


项目中遇到微交互、增加页面用户体验的需求,运用CSS3的transform变化的3D属性就可以达到效果。


transform概述


W3C 的解释:

CSS Transforms

 is a module of CSS that defines how elements styled with CSS can be transformed in two-dimensional or three-dimensional space.


即:

css transform定义元素在二维、三维上空间上的变换;transform通过修改坐标空间、改变元素的形状、位置,并不会打乱正常文档流。


transform如何使用,有哪些属性呢?


一、 transform


1)backface-visibility


元素的后端是否可见  该属性只用在 3D 变换中(即设置了Pespective透视点的元素中)


20180420104541114.png


2)perspective


用户到 z=0 位置的距离


3D元素的一部分在 用户的后面,z坐标值 大于  perspective属性值,那么这部分不会被绘制


我们都知道近大远小的道理,对于没有

rotateX

以及

rotateY

的元素,

translateZ

的功能就是让元素在自己的眼前或近或远

。比方说,我们设置元素

perspective

201

像素,如下:

 

perspective: 201px;


则其子元素,设置的

translateZ

值越小,则子元素大小越小(因为元素远去,我们眼睛看到的就会变小

);

translateZ

值越大,该元素也会越来越大,当

translateZ

值非常接近

201

像素,但是不超过

201

像素的时候(如

200

像素),该元素的大小就会撑满整个屏幕(如果父辈元素没有类似

overflow:hidden

的限制的话)。因为这个时候,子元素正好移到了你的眼睛前面,所谓

一叶蔽目,不见泰山

,就是这么回事。当

translateZ

值再变大,超过

201

像素的时候,该元素看不见了

——

这很好理解:我们是看不见眼睛后面的东西的!

translateZ

, 当

translateZ

为正值的时候,元素会向其面对的方向走去;如果元素无旋转,就会朝显示器走来。(该段摘自

http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/


3)perspective-origin


The

perspective-origin

 css property determines the

 position at which the viewer is looking


The

perspective-origin

 property determines the origin for the

perspective

 property by altering its vanishing  


我的理解是:通过改变消失点的位置,即视点的位置,3D图形就是从该视点出发观察整个3D图形的,如下图示:


20180420104602439.png


20180420104613634.png


4)rotate


旋转,写法如下:


2018042010463277.png


5)scale


放大、缩小,写法如下:


20180420104645335.png


6)translate


定义平移距离


20180420104658392.png


7)总结写法如下


20180420104712448.png


二、 transform-origin


The

transform-origin 

css property

sets the origin for an element's transformations

设置变换的起点


20180420104725904.png


三、 transform-style


The

 transform-style

 css property determines if the children of an element are positioned in the 3D-space or are flattened in the plane of the element.


定义一个元素的子元素是否定位在3D元素中后者2D平面中

/* Keyword values */


transform-style

:

 flat

;


transform-style

:

 preserve-

3

d

;


四、 transform-box


定义了布局框


/* Keyword values */


transform-box

:

 border-box

;


transform-box

:

 fill-box

;


transform-box

:

 view-box

;


参考


1.

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transforms/Using_CSS_transforms


2 .

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Animations/Using_CSS_animations


目录
相关文章
|
3月前
|
前端开发
CSS属性:盒子模型
CSS属性:盒子模型
38 0
|
3月前
|
前端开发
CSS属性
CSS属性
33 0
|
1月前
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
36 2
|
1月前
|
前端开发
CSS transition过渡属性详解
本文介绍了CSS中`transition`属性的作用、用法及实例。`transition`用于在元素属性变化时添加平滑过渡动画,通过设置`transition-property`、`transition-duration`、`transition-timing-function`和`transition-delay`等属性值,可以精细控制过渡效果。文末提供了HTML示例代码,展示了如何使用`transition`实现鼠标悬停时背景颜色的平滑变化。
44 1
|
1月前
|
Web App开发 前端开发 iOS开发
css所有缩写属性,CSS属性简写整理
css所有缩写属性,CSS属性简写整理
33 1
|
2月前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
43 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
2月前
|
前端开发
CSS 中哪些属性可以继承
在 CSS 中,属性分为可继承与不可继承。可继承属性会在子元素中沿用父元素的样式设定。常见可继承属性包括:文本属性(如 `font-family`, `color`),列表属性(如 `list-style`),表格布局属性(如 `border-collapse`),以及其他如 `visibility` 和 `direction` 等属性。正确理解这些属性有助于更高效地进行样式设计。
|
1月前
|
前端开发
css简写属性
css简写属性
35 0
|
2月前
|
前端开发 JavaScript
如何在CSS中添加自定义属性
如何在CSS中添加自定义属性
20 0
|
2月前
|
前端开发
运用CSS伪类与属性,巧妙实现背景图片旋转效果
运用CSS伪类与属性,巧妙实现背景图片旋转效果
45 0