zoukankan      html  css  js  c++  java
  • 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;
    
    }
  • 相关阅读:
    linux ssh免密
    flink WaterMark之TumblingEventWindow
    flink 并行计数器实现
    VSCode删除重复的空行
    Gnome添加Open with Code菜单
    Linux下设置VSCode为默认的文本编辑器
    Jupyter Notebook添加Ruby支持
    Linux下无法运行Color picker
    oh-my-zsh: bracketed-paste-magic:zle:47: not enough arguments for -U
    Vim auto-pairs设置选项
  • 原文地址:https://www.cnblogs.com/guirong/p/13543591.html
Copyright © 2011-2022 走看看