网站首页 > 技术文章 正文
css除了用来设置样式外,还可以设置各种特效,我们常用到的特效有两种:过渡和动画,过渡需要响应事件更改样式属性来触发,而动画,不需要响应事件就可以执行,下面我们看下,这两种实现的方式;
css样式过渡
我们添加一个div块,当鼠标移动上去后,更改它的颜色:
<html>
<head>
<title>css</title>
</head>
<body>
<div class="trans-cla">
我是过渡动画
</div>
</body>
<style>
.trans-cla{
width:100px;
height: 100px;
background-color: yellow;
transition: background-color 2s;
}
.trans-cla:hover{
background-color: red;
}
</style>
</html>
注:由于这里是一个过渡动画,大家可以手写一下试一下,过渡主要是用的
transition: background-color 2s;表示当background-color的值改变时,由当前的值到最后设置的值需要持续2秒;
.trans-cla:hover:表示鼠标移动到这个class的div块时,这个div块的背景颜色变为红色。这个过程持续2秒;
还有两个属性:
transition-timing-function:指定过渡的类型;
transition-delay:设置延迟执行的时间;
css样式动画
有的时候我们打开一个页面,会看到某些元素会自动执行一个动画,这里我们在打开一个页面时,页面的div元素从左边移动到右边,字体颜色变为红色:
<html>
<head>
<title>css</title>
</head>
<body>
<div class="anim-cla">
我是自动动画
</div>
</body>
<style>
.anim-cla{
width:100px;
height: 100px;
background-color: yellow;
animation: lefttoright 10s forwards;
position: relative;
}
@keyframes lefttoright {
from{left:0px;}
to {left:500px;color:red}
}
</style>
</html>
注:
@keyframes 动画名称:这个用来定义一个css动画,例如:@keyframes lefttoright 定义了一个lefttoright动画, from 表示开始时候的值 ,to表示最后变换后的值,这里可以添加百分比用来表示动画播放过程中到某个进度时的样式,例如可以把from改成0%,to改成100%,中间你可以主动添加其他的百分比并设置样式,设置的样式在后方使用大括号{}包括起来,写上此时改变的百分比;
animation:用来设用动画,例如animation: lefttoright;10s表动整个动画播放10s,forwards设置播放完成后,停止在最后的位置,这个相当于你设置了 animation-fill-mode的属性,这个里面的很多属性大家可以查手册挨个试一下,同样的animation-delay用来设置延迟播放的时间;
猜你喜欢
- 2025-07-02 Materials Studio 界面——工具条
- 2025-07-02 教你玩会 CSS3 3D 技术(css3的3d效果怎么做)
- 2025-07-02 【iOS学习】 视频添加动效水印步骤简介
- 2024-08-02 详解CSS3中的动画效果:从基础到进阶实战
- 2024-08-02 CSS3 transition动画 圆角、rgba(cssdiv圆角)
- 2024-08-02 狗屎一样的React(第四节,首页banner图轮播)
- 2024-08-02 Vue中图片上传组件封装-antd的a-upload二次封装-案例
- 2024-08-02 「Web前端开发进阶篇」CSS3 动画(前端实现动画)
- 2024-08-02 CSS很难学吗?这几个属性掌握了,秒变CSS大神!
- 2024-08-02 炫酷的高亮卡片效果(炫酷的高亮卡片效果视频)
- 最近发表
-
- count(*)、count1(1)、count(主键)、count(字段) 哪个更快?
- 深入探索 Spring Boot3 中 MyBatis 的 association 标签用法
- js异步操作 Promise fetch API 带来的网络请求变革—仙盟创梦IDE
- HTTP状态码超详细说明_http 状态码有哪些
- 聊聊跨域的原理与解决方法_跨域解决方案及原理
- 告别懵圈!产品新人的接口文档轻松入门指南
- 在Javaweb中实现发送简单邮件_java web发布
- 优化必备基础:Oracle中常见的三种表连接方式
- Oracle常用工具使用 - AWR_oracle工具有哪些
- 搭载USB 3.1接口:msi 微星 发布 990FXA Gaming 游戏主板
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)