css笔记 - transition学习笔记(二)
开始把7,8月份学的css整理一下
transition过渡
1. CSS transition
transition过渡 :用于当元素 从一种样式变换为另一种样式 时为元素添加效果。
2. transition的各项子属性详细值
| name | value | 是否必须 | 备注 |
|---|---|---|---|
| transition-property | 需要应用过渡效果的CSS 属性的名字/all | 是 | 填写一个属性名则监听一个,填 all 则监听该元素的所有样式变化,当指定的 CSS 属性改变时,过渡效果将开始执行。 |
| transition-duration | 过渡时间 | 是 | 不填写默认为0,不会发生动画渐变效果 |
| transition-timing-function | 过渡效果的时间曲线 | 否 | 贝塞尔曲线,默认ease |
| transition-delay | 是否延迟执行过渡 | 否 | 不填写时默认为0 |
transition-property需要交代给你的那些事
指定的这个属性值改变时,就会有动画效果,所以你想看谁 (属性) 的动画(不是笑话哦),这个值就填谁 (属性名) ,比如本案例,改变的时蓝色线条的长度(宽度)值,所以这个值设置为width属性名就行了。
可填的值:
| 可填的值 | 讲解 | 备注 |
|---|---|---|
| none | none | 我不设置transition好不好? |
| all | 代表所有的属性都会有 | 有时候你要监听好几个属性值,又很懒不想一个一个写,那就写个all,监听所有。我不知道这个对性能有什么影响,不过估计浏览器没那么智能,不是谁变化监听谁,而是费劲巴拉的监听所有,没有变化的也被监听了,虽然我们肉眼上看不到,但其实他也消耗了。 |
| property-name-list | 正常写,比如宽度就写width,高度写height,就把css属性名直接复制粘贴过来即可 | 注意这里加了一个list,是一个属性列表,可以写多个,多个之间用都好隔开就好 |
- js里的写法:
obj.style.transitionProperty = 'width,height,transform';
规律就是,把中间那个横线去掉,然后第二个及以后字母的首字符大写。
transition-duration需要交代给你的那些事
整个动画持续的时间,即完成动画需要的时长
请始终设置 transition-duration 属性,否则时长为 0,就不会产生过渡效果。(手册一直强调这句话)
可能的值:
time,时间值,1s代表1秒。3500ms = 3.5秒;;;;
具体就是数值加上单位即可,换算遵循1000ms=1s的格式。
但通常来说,我比较喜欢用.35s。
还是根据需要的动画效果视情况而定。但是一定一定要设置就是对了。
前两个是必填的,否则不起作用
- js里的写法:
obj.style.transitionDuration = '3.5s';
transition-timing-function需要交代给你的那些事
规定过渡效果的速度曲线,是先快后慢?还是先慢再快最后慢?还是匀速从头开到尾呢?这就对应了他的属性值ease-out、ease-in-out、linear。
原理就是:过渡效果随着时间改变其速度。
当然你也可以自定义动画曲线:cubic-bezier(n,n,n,n)。就是大名鼎鼎的贝塞尔曲线啦。又好像animate的帧一样,时间开头怎么样动,时间结尾怎么样动,不过他还是时间大范围内的凭感觉控制,没有animation的帧动画强大,只要你愿意,可以把animation当作flash的工作台来用哦!
各属性值含义
| 值 | 效果描述 | 备注 |
|---|---|---|
| linear | 匀速 | 一开始挂上档后可以睡觉了,直到终点不会变档 |
| ease | 默认值 慢-快-慢 | 曲线图就像一座山丘 |
| ease-in | 慢-end | 像一个自行车子启动的一瞬间,刚开始蹬不动都是慢慢走,后边匀速 |
| ease-out | start-慢 | 像一个车子刹车的一瞬间 |
| ease-in-out | 慢-o-慢 | 更自然的一个车子发动-走动-刹车停住的过程 |
| cubic-bezier(n,n,n,n) | 自己调曲线决定动画的效果随时间变化是快还是慢 | 0-1的可调范围,别过了 |
cubic-bezier四个值设置成什么样刚好是其他五个值的效果呢?
| 值 | bezier配置 |
|---|---|
| linear | cubic-bezier(0,0,0.25,1) |
| ease | cubic-bezier(0.25,0.1,0.25,1) |
| ease-in | cubic-bezier(0.42,0,1,1) |
| ease-out | cubic-bezier(0,0,0.58,1) |
| ease-in-out | cubic-bezier(0.42,0,0.58,1) |
- js写法:
object.style.transitionTimingFunction="linear"
transition-delay需要交代给你的那些事
延迟执行动画效果。
可以不填,我一般都不填,除非需要和另一个样式配合时,为了等待另一个样式完毕再执行这个,就需要用上delay了。
js写法:
object.style.transitionDelay="2s"
--------- 懒人写法 ----------
单个属性 简写写法:
transition: propertyName duration+s timing-function dealy
过渡:属性名 动画时间 动画曲线 延迟时间;
transition应用多个属性
多个属性 简写写法:
transition: propertyName1 propertyName2 propertyName3 ...后边同上;
过渡: 属性名1 属性名2 属性名3 ...;
除了使用all属性,还可以使用逗号隔开多套。例如:
transition: transform .45s ease-in-out, margin .2s linear .2s;
js写法:
object.style.transition="width 2s"
3. 浏览器兼容性
IE10+,Firefox、Chrome 以及 Opera 支持 transition 属性。
Safari、Chrome<25 需要前缀 -webkit-。
兼容性写法:
transition: width 1s;
-moz-transition: width 1s; /* 以前习惯第二个写-webkit-的,今天看官网还是自己写错了 */
-webkit-transition: width 1s;
-ms-transition: width 1s;
-o-transition: width 1s;
特殊情况遇到transform这一类也需要兼容性写法的属性时:
transition: transform 1s;
-moz-transition: -moz-transform 1s;
-webkit-transition: -webkit-transform 1s;
-ms-transition: -ms-transform 1s;
-o-transition: -o-transform 1s;
多个transition属性分开写时,添加兼容性前缀的方法同上,不再赘述。顺序是:正常;-moz-、-webkit-、-ms-、-0-!
4. 贝塞尔曲线
运动曲线是动画的灵魂
ease-in 缓入,从0开始加速,适合元素离开页面的时候。
ease-out 缓出,有一个刹车的感觉,速度逐渐变没。适合一个元素进入页面的 时候
ease-in-out 缓入缓处,开头结尾都没有速度,先加速,再减速。适合用在一个元素从页面a到b点。
linear 匀速,死板别用。
cubic-bezier(n,n,n,n)
四个点(起始点、终止点以及两个相互分离的中间点)
css笔记 - transition学习笔记(二)的更多相关文章
- 从今天开始 每天记录HTML,CSS 部分的学习笔记
从今天开始 每天记录HTML,CSS 部分的学习笔记
- CSS Grid 布局学习笔记
CSS Grid 布局学习笔记 好久没有写博客了, MDN 上关于 Grid 布局的知识比较零散, 正好根据我这几个月的实践对 CSS Grid 布局做一个总结, 以备查阅. 1. 基础用法 Grid ...
- html css的简单学习(二)
html css的简单学习(二) <!Doctype html>告诉浏览器,这是一个html文档.lang="en" 默认是en,表示英语:zh-Hans 中文简体:z ...
- CSS权威指南学习笔记系列(1)CSS和文档
题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对, ...
- css权威指南学习笔记 —— css选择器
1,选择器:选择器的一些基本常用规则基本都记得,w3c上都有,平时也常用,不常用的一些后代选择器经常就忘记了.一些归纳一下后代选择器,加深一下印象: a:子选择器: p>a a是直接是p的 ...
- 原生 CSS 网格布局学习笔记
下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权.在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习 ...
- [读书笔记]C#学习笔记一: .Net Framwork
前言: 一次偶然的机会 在园子里看到@Learning hard 出版的一本书: <<C#学习笔记>>, 然后买来 一直到现在读完, 感觉很不错, 适合入门, 书中内容是从C ...
- [读书笔记]C#学习笔记三: C#类型详解..
前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...
- [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析
前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...
随机推荐
- 贫血模型;DTO:数据传输对象(Data Transfer Object);AutoMapper ;Domain Model(领域模型);DDD(领域驱动设计)
====================== 我自己的理解 ========================== 一: DTO 我自己的理解,就是 比如你有一个类,跟数据库的table表结构一模一 ...
- MySQL5.6主从复制搭建基于日志(binlog)
什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟 ...
- 绘制你的第一个图表(jquery-flot-line-chart)
事前准备 首先, 请先确定你已经下载了Flot档案, 如果还没有的话可以先回到前一章 去下载. 这是你绘制的第一张图, 我们用最常用的折线图当例子, 折线图常被用来显示一段时间间隔趋势的走向, 常见的 ...
- C# 抓取并导出网页里面所有超链接方法
public class app { // 获取指定网页的HTML代码 public static string GetPageSource(string URL) { Uri uri = new U ...
- iOS: 动态更改 backBarButtonItem 的 title
先来看一下 UIBarItem 的 title 的描述 The title displayed on the item. You should set this property before add ...
- Libertarian
Libertarians as the real god-son has the consistent faith of humanity freedom. The super libertarian ...
- spring mvc 框架URL接收中文参数的乱码解决方案
后台可能就会出现乱码,具体解决方案如下: 一. 配置tomcat目录下的service.xml文件 tomcat7/conf/server.xml 给该行代码加上 URIEncoding=" ...
- 【Machine learning】余弦相似度
- Android开发学习笔记-自定义TextView属性模版
如果项目中有很多个控件使用的是同一种样式,则为了方便,可以将样式设置到系统中去,这样使用的时候会方便很多. 下面是自定义样式模版的方法. 1.在style.xml文件中添加自己要设置的样式内容 < ...
- 站长常用的200个js代码 站长常用js代码大全 站长常用js代码集合
站长常用的200个js代码 1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect: ...