随笔 - 23  文章 - 1  评论 - 0  阅读 - 2530

css的动画效果

学习了一段时间CSS,总感觉自己行了,想自己写一个网页。打开别人网页的模板一看,好炫酷这图怎么还会转动。一下子涉及到了我的知识盲区,其实这就涉及到了CSS的动画效果。

CSS动画基础

一、

CSS @keyframes 规则

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

@keyframes 规则是创建动画。

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

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

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

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

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

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

使用@keyframes的代码如下所示:

复制代码
@keframes first {
from{}
to{}
}
或者
@keyframes first {
0%{}
100%{}
}
复制代码

 

  想要编写CSS的动画,肯定要先给他一个名字,不给他名字谁知道它是谁呢。

CSS3 动画

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

指定至少这两个CSS3的动画属性绑定向一个选择器:

  • 规定动画的名称
  • 规定动画的时长
div {
animation:first 1s
}

 

注意:动画的默认值都是0,如果你想要的运行动画,必须定义动画的名称和动画的持续时间。

 

CSS3的动画属性

 

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

 

 想必学到这里你已经对于CSS的动画效果有了一定的了解了,接下来让我们试试自己动手来写一个CSS的动画吧!

我们来制作一个会旋转的太极图

首先是HTML部分,这部分很简单只需要建一个盒子

<div class="taiji"></div>

然后到了我们的重头戏,CSS部分这部分我们需要给太极盒子附上颜色大小和今天学的动画效果:

复制代码
* {
    margin: 0;
    padding: 0;
}

body {
    background-color: #ccc;
}

.taiji {
    width: 150px;
    height: 300px;
    margin: 100px auto;
    border-right: 150px solid #000;
    background-color: #fff;
    border-radius: 150px;
    animation: rotate 2s infinite linear;
}

.taiji::before,
.taiji::after {
    content: '';
    margin-left: 50%;
    display: block;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border: 50px solid #000;
    border-radius: 75px;
}

.taiji::after {
    background-color: #000;
    border: 50px solid #fff;
}

@keyframes rotate {
    from {}

    to {
        transform: rotate(-360deg);
    }
}
复制代码

到这里我们已经学习到了CSS动画效果的一些基础了,学无止境,fighting!

 

posted on   菱蘭  阅读(94)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示