CSS动画之transition属性
transition 属性
简介
transition(过渡)) 是指从一个状态到另一个状态的变化。比如当鼠标在某个元素上悬停时,我们会修改它的样式,采用 transition 可以创建一个平滑的动画效果。
简单用法
代码
transition: background 0.5s linear;
意义
在 0.5 秒的时间里,按照 linear 的时间函数(timing-function)来改变某个元素的 background 属性。
示例
当鼠标在按钮上悬停时(hover)改变按钮的 background。
html
<button>按钮</button>
css
button {
padding:1em 2em;
background: #fff;
transition: background 1s linear;
} button:hover {
background: deeppink;
}
效果

如果我们把 transition: background 1s linear 放到hover中则只有鼠标离开时才有动画效果;
简写transition全部参数
transition:[property] [duration] [delay] [timeing-function]
transition全写
transition-property:all;/* 规定过渡css属性名称 */transition-duration: 1s;/* 过渡持续时间 3s===3*1000ms */transition-delay: 0.1s;/* 过渡效果延迟开始时间 */transition-timing-function: ease-in;/* 时间函数 */
时间函数Steps()
参数
- 动画完成步数
- 参数类型:Number
- 第一个步进点
- 参数:start/end
- 默认:end
示例
- html
<div id="block"></div>
- css
#block{
position: absolute;
left: 50%;
top: 30%;
transform: translateX(-50%);
width: 12em;
height: 12em;
background: #000;
transition: all 1s steps(5,end);
/*transition: all 1s linear;*//*平滑过渡*/
} #block:hover{
width: 2em;
height: 2em;
}
- 效果

添加多个过渡
- html
<div id="block"></div>
- css
#block{
position: absolute;
left: 50%;
top: 30%;
transform: translateX(-50%);
width: 12em;
height: 12em;
background: #000;
transition: width 1s linear,height 1s linear,background 1s ease-in-out;
} #block:hover{
background: burlywood;
width: 2em;
height: 2em;
}
- 效果

添加移除类触发过渡
简单示例
- 效果

- html
<body>
<button id="show">Show it</button>
<div id="wait-show" class="hide">
<h1>Title</h1>
<p>Pressing the button shows this content.</p>
</div>
</body>
- css
body {
background-color: #134;
transition: background 0.5s ease-out;
font-family: HelveticaNeue, Arial, Sans-serif;
}
body.on {
background-color: #099;
}
button{
background: transparent;
border: 2px solid #fff;
border-radius: 1em;
color: #fff;
cursor: pointer;
font-size: 24px;
padding: 1em 2em;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
transition: all 0.4s ease-out;
outline: 0;
}
button:hover{
background: #fff;
color: #099;
}
#wait-show{
color: #fff;
text-align: center;
position: absolute;
left: 50%;
transform: translate(-50%,-50%);
transition: all 0.5s cubic-bezier(.83,-0.43,.21,1.42);
}
.hide{
opacity: 0;
top:calc(50% + 10em);
}
.show{
opacity: 1;
top: calc(50% + 6em);
}
- js
let showBtn = document.getElementById('show');
let body = document.body;
let waitShow = document.getElementById('wait-show');
/**
* 监听点击事件
*/
showBtn.addEventListener('click', function (e) {
// 更改body颜色
body.className = body.className === 'on' ? '' : 'on';
waitShow.className = waitShow.className === 'hide' ? 'show' : 'hide';
})
document.getElementsByTagName('body')
CSS动画之transition属性的更多相关文章
- css简单动画(transition属性)
一.对transition属性的认识 1.transition 属性是一个简写属性,可用于设置四个过渡属性:transition-property 过渡效果的 CSS 属性的名称(height ...
- 前端深入之css篇丨2020年前,彻底掌握css动画【transition】
写在前面 马上就2020年了,不知道小伙伴们今年学习了css3动画了吗? 说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所 ...
- css动画-animation各个属性详解(转)
CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题. 一.动画属性: 动画属性包括:①a ...
- css 动画 transform transition animation
1.transform transform 是通过在浏览器里面让网页元素 移动 旋转 透明 模糊 等方法来实现改变其外观的技术 -webkit-transform : translate(3em,0 ...
- css3动画(transition)属性探讨
在webapp引用开发中经常会用到css3动画效果,下面我们就一起探讨一下这个属性的使用. 在哪里定义动画效果? css3动画一般通过鼠标事件或者说状态定义动画,通常我们可以用CSS中伪类和js中的鼠 ...
- 【CSS】css动画及过渡和变换属性
1.css动画 创建一个动画: @keyframes name{ //动画名字 0% { //动画开始 transform: translateY(0); } 100% { //动画结束 transf ...
- 知识点干货——CSS动画
CSS动画 (transition.animation) //2D动画 transform:translate(); /*偏移*/ transform:rotate(); /*旋转角度*/ trans ...
- CSS动画实例
上一篇讲过css动画transform transition的语法,这一节展示自己做的几个小例子加深印象 1. 线条动画效果 代码:最外层div包含2个小的div : a和b. a有左右边框(高度 ...
- CSS:word-wrap/overflow/transition
一 自动换行:一个div有固定宽高,如果其内容很长,必须两行以上才能显示完整的时候,有两种情况要留意 1 默认如果其内容都是中文,那么内容是可以自适应,而不会溢出div 2 如果内容除了中文之外,还有 ...
随机推荐
- cv2.imwrite()指定图片存储路径
cv2.imwrite("./data/photo_{}.jpg".format(i), photo)
- (十七)从UML角度来理解依赖
UML软件建模 什么是依赖?简单理解就是一个类A用到了类B,但是这种使用关系是偶然性的.临时性的.非常弱的,类B的变化会影响到类A 显示依赖与隐式依赖 依赖倒置:我们要依赖于高层业务,不依赖于低层业务 ...
- ES6 学习 -- 箭头函数(=>)
(1).只有一个参数且只有一句表达式语句的,函数表达式的花括号可以不写let test = a => a; // 只有一个参数a,这里的表达式相当于 "return a" ( ...
- Js_案例(电灯)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS开发系列-NSDate
NSDate API 获取当前时间 获取时间戳 创建间隔指定时间戳的Date // 获取昨天 NSTimeInterval time = 24 * 60 * 60; NSDate *date = [N ...
- SpringCloud学习笔记《---05 Zuul---》基础篇
- 什么是 Hexo?
Hexo 文档 欢迎使用 Hexo,本文档将帮助您快速上手.如果您在使用过程中遇到问题,请查看 问题解答 中的解答,或者在 GitHub.Google Group 上提问. 什么是 Hexo? H ...
- python的update方法
b = {"c":0, "position":{}} b["position"]["IF"] = {} print(b) ...
- css---6 选择器声明的优先级
选择器的特殊性由选择器本身的组件确定,特殊性值表述为4个部分,如 0,0,0,0一个选择器的具体特殊性如下确定: 1.对于选择器中给定的ID属性值,加 0,1,0,0 2.对于选择器中给定的各个类属性 ...
- bc 进制间转换
我们通过bc的ibase和obase方法来进行进制转换 ibase是输入数字的进制,而obase就是输出数字的进制 两种方式进行转化 交互式的 ==注意:需要先设置obase== [root@dev ...