• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Rgzs
博客园    首页    新随笔    联系   管理    订阅  订阅
CSS3(三)3D 转换

(1) 、3D 转换

CSS3 允许您使用 3D 转换来对元素进行格式化。

在本节中,您将学到其中的一些 3D 转换方法:

rotateX()

rotateY()

(2) 、rotateX() 方法

rotateX()方法,围绕其在一个给定度数X轴旋转的元素

 

div { transform: rotateX(120deg); 
-webkit-transform: rotateX(120deg); /* Safari 与 Chrome */ 
}

 

(3) 、rotateY() 方法

rotateY()方法,围绕其在一个给定度数Y轴旋转的元素。

 

div { transform: rotateY(130deg); 
-webkit-transform: rotateY(130deg); /* Safari 与 Chrome */ 

 

(4) 、3D 转换其他方法

 

 

函数

描述

matrix3d(n,n,n,n,n,n,
n,n,n,n,n,n,n,n,n,n)

定义 3D 转换,使用 16 个值的 4x4 矩阵。

translate3d(x,y,z)

定义 3D 转化。

translateX(x)

定义 3D 转化,仅使用用于 X 轴的值。

translateY(y)

定义 3D 转化,仅使用用于 Y 轴的值。

translateZ(z)

定义 3D 转化,仅使用用于 Z 轴的值。

scale3d(x,y,z)

定义 3D 缩放转换。

scaleX(x)

定义 3D 缩放转换,通过给定一个 X 轴的值。

scaleY(y)

定义 3D 缩放转换,通过给定一个 Y 轴的值。

scaleZ(z)

定义 3D 缩放转换,通过给定一个 Z 轴的值。

rotate3d(x,y,z,angle)

定义 3D 旋转。

rotateX(angle)

定义沿 X 轴的 3D 旋转。

rotateY(angle)

定义沿 Y 轴的 3D 旋转。

rotateZ(angle)

定义沿 Z 轴的 3D 旋转。

perspective(n)

定义 3D 转换元素的透视视图。

 

 首先声明  transform-style:preserve-3d

perspective: 2000px;    //范围在800-2000px

  CSS3动画

CSS3中,我们为了添加某种效果可以从一种样式转变到另一个的时候,无需使用Flash动画或JavaScript。

(1) 、@keyframes 规则

要创建 CSS3 动画,你需要了解 @keyframes 规则。

@keyframes 规则是创建动画。

@keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。

(2) 、CSS3动画是什么?

动画是使元素从一种样式逐渐变化为另一种样式的效果。

您可以改变任意多的样式任意多的次数。

当在 @keyframes 创建动画,把它绑定到一个选择器(动画的名称),否则动画不会有任何效果。

规定动画的名称,规定动画的时长

请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

0% 是动画的开始,100% 是动画的完成。

为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:

当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:

div { animation: myfirst 5s;

-webkit-animation: myfirst 5s; /* Safari 与 Chrome */ 

}

@keyframes myfirst { 

0% {background: red;} 

25% {background: yellow;} 

50% {background: blue;} 

100% {background: green;} 

} 

@-webkit-keyframes myfirst /* Safari 与 Chrome */ { 

0% {background: red;} 

25% {background: yellow;} 

50% {background: blue;} 

100% {background: green;} 

}

(3) 、居于与CSS3的动画属性

下面的表格列出了 @keyframes 规则和所有动画属性:

属性

描述

CSS

@keyframes

规定动画。

3

animation

所有动画属性的简写属性,除了 animation-play-state 属性。

3

animation-name

规定 @keyframes 动画的名称。

3

animation-duration

规定动画完成一个周期所花费的秒或毫秒。默认是 0。

3

animation-timing-function

规定动画的速度曲线。默认是 "ease"。

3

animation-fill-mode

规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

3

animation-delay

规定动画何时开始。默认是 0。

3

animation-iteration-count

规定动画被播放的次数。默认是 1。

3

animation-direction

规定动画是否在下一周期逆向地播放。默认是 "normal"。

3

animation-play-state

规定动画是否正在运行或暂停。默认是 "running"。

3

下面两个例子设置所有动画属性:

div { 

animation-name: myfirst;

animation-duration: 5s;

animation-timing-function: linear;

animation-delay: 2s;

animation-iteration-count: infinite;

animation-direction: alternate;

animation-play-state: running; /* Safari 与 Chrome: */ 

-webkit-animation-name: myfirst;

-webkit-animation-duration: 5s;

-webkit-animation-timing-function: linear;

-webkit-animation-delay: 2s;

-webkit-animation-iteration-count: infinite;

-webkit-animation-direction: alternate;

-webkit-animation-play-state: running;

}

 

与上面的动画相同,但是使用了简写的动画 animation 属性:

div { 

animation: myfirst 5s linear 2s infinite alternate; /* Safari 与 Chrome: */ 

-webkit-animation: myfirst 5s linear 2s infinite alternate;

}

 

posted on 2020-08-21 21:58  飄落的葉子  阅读(156)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3