新车
css3animation(CSS3 动画——Animations)

CSS3 Animations

1 @keyframes属性

@keyframes 动画名称{关键帧持续时间% {css样式;}}

@keyframes myanimation{    0% {top:0px;background-color:#0000cc;}    50% {top:100px;background-color;#339900;}    100% {top:0px;background-color:#330000;}}

2 animation属性

animation: name duration timing-function delay iteration-count direction;

animation-name 规定需要绑定到选择器的 keyframe 名称。。

animation-duration 规定完成动画所花费的时间, 以秒或毫秒计。

animation-timing-function 规定动画的速度曲线。

linear 动画从头到尾的速度是相同的。

ease 默认。动画以低速开始, 然后加快, 在结束前变慢。

ease-in 动画以低速开始。

ease-out 动画以低速结束。

ease-in-out 动画以低速开始和结束。

cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。 参考地址: http://cubic-bezier.com/#.17,.67,.83,.67

animation-delay 规定在动画开始之前的延迟。以秒或毫秒计, 默认值是 0。

animation-iteration-count 规定动画应该播放的次数。

n 定义动画播放次数的数值。

infinite 规定动画应该无限次播放。

animation-direction 规定是否应该轮流反向播放动画。

normal 默认值。动画应该正常播放。

alternate 动画应该轮流反向播放。

使用方法一: from...to...

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">*{    margin: 0;    padding: 0;}div{    width: 100px;    height: 100px;    background-color: orange;}@keyframes widthChange{to{width: 800px;}}div{        animation: widthChange 1s;}</style></head><body><div></div></body></html>

使用方法二: 百分比

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">*{margin: 0;padding: 0;}div{width: 100px;height: 100px;background-color: orange;position: absolute;left: 0;top: 0;}@keyframes positionChange{            0%{    left: 0;    top: 0;    }    50%{    left: 800px;    top: 0;    }    100%{    left: 800px;    top: 500px;    }}div{        animation: positionChange 10s;}</style></head><body><div></div></body></html>

使用方法三: animation参数格式

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">*{    margin: 0;    padding: 0;}div{    width: 100px;    height: 100px;    background-color: orange;}@keyframes widthChange{    to{    width: 800px;    }}div{        animation: widthChange 5s;}div:hover{animation-play-state: paused}</style></head><body><div></div></body></html>

建立3D场景

transform-style 属性规定如何在 3D 空间中呈现被嵌套的元素。

注释:该属性必须与 transform 属性一同使用。

flat 子元素将不保留其 3D 位置。

preserve-3d 子元素将保留其 3D 位置。

transform-style: flat|preserve-3d;

perspective 属性定义 3D 元素距视图的距离, 以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。

当为元素定义 perspective 属性时, 其子元素会获得透视效果, 而不是元素本身。

注释:perspective 属性只影响 3D 转换元素。

perspective: number|none;

景深:

perspective是设置3d效果的景深, 通俗来说就是设置你的眼睛与这个3d元素的距离。

而生活经验告诉我们, 你从远处和近处分别观察同一个物体(比如正方形)时, 其3d效果肯定是不同的。

perspective-origin 属性定义 3D 元素所基于的 X 轴和 Y 轴。该属性允许您改变 3D 元素的底部位置。

当为元素定义 perspective-origin 属性时, 其子元素会获得透视效果, 而不是元素本身。

注释:该属性必须与 perspective 属性一同使用, 而且只影响 3D 转换元素。

<!DOCTYPE html><html lang="zh"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>document</title><style type="text/css">*{    margin: 0;    padding: 0;    list-style: none;}div{    width: 300px;    height: 220px;    margin: 100px auto;    border: 1px solid #000;    transform-style: preserve-3d;    perspective: 800px;        perspective-origin: left top;}img{    width: 100%;    display: block;    transition: 1s;    }    div:hover>img{    transform: rotateX(-45deg);}</style></head><body><div><img src="img/薛凯琪.jpg"/></div></body></html>

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

如果在旋转元素不希望看到其背面时, 该属性很有用。

背面隐藏

<!DOCTYPE html><html lang="zh"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>document</title><style type="text/css">*{    margin: 0;    padding: 0;    list-style: none;}div{    width: 300px;    height: 220px;    margin: 100px auto;    border: 1px solid #000;transform-style: preserve-3d;    perspective: 1000px;}img{    width: 100%;    display: block;    transition: 1s;    transform-origin: left center;        backface-visibility: hidden;}div:hover>img{    transform: rotateY(-100deg);}</style></head><body><div><img src="img/薛凯琪.jpg"/></div></body></html>

顶一下()     踩一下()

热门推荐

发表评论
0评