第八十二节,CSS3过渡效果
CSS3过渡效果
学习要点:
1.过渡简介
2.transition-property
3.transition-duration
4.transition-timing-function
5.transition-delay
6.简写和版本
本章主要探讨HTML5中CSS3的过渡效果,通过这个功能可以不借 JavaScript来实现简单的用户交互功能。
一.过渡简介
过渡效果一般是通过一些简单的CSS动作触发平滑过渡功能,比如::hover、:focus、:active、:checked等。CSS3提供了transition属性来实现这个过渡功能,主要属性如下表:
属性 说明
transition-property 指定过渡或动态模拟的CSS属性
transition-duration 指定完成过渡所需的时间
transition-timing-function 指定过渡的函数
transition-delay 指定过渡开始出现的延迟时间
transition 简写形式,按照上门四个属性值连写
我们先创建一个没有过渡效果的元素,然后通过:hover来触发它。在没有任何过渡效果的触发,会立即生硬的执行触发。
/*设置元素样式*/
div{
width: 200px;
height: 200px;
background-color: #ff563a;
border: 5px solid #1313ff;
}
/*鼠标悬停后样式*/
div:hover{
background-color: #20ff26;
border: 5px solid #fff50d;
margin-left: 100px;
} <div>
<p>是一部由北青传媒股份</p>
</div>
二.transition-property 在元素选择器上,指定元素伪类选择器里要执行过渡的样式属性
首先,设置过渡的第一个属性就是指定过渡的属性。在元素选择器上,指定元素伪类选择器里要执行过渡的样式属性。那么就使用transition-property属性,详细属性值如下表:
属性值 说明
none 没有指定任何样式
all 默认值,指定元素所支持transition-property属性的样式
指定样式 指定支持transition-property的样式
从上面的列表中来看,一般来说,none用于本身有过渡样式从而取消。而all,则是支持所有transition-property样式,还有一种是指定transition-property中的某些样式。那么transition-proerty支持的样式有哪些?如下表所示:
transition-proerty支持的样式有
样式名称 样式类型
background-color color(颜色)
background-image only gradients(渐变)
background-position percentage, length(百分比,长度值)
border-bottom-color color
border-bottom-width length
border-color color
border-left-color color
border-left-width length
border-right-color color
border-right-width length
border-spacing length
border-top-color color
border-top-width length
border-width length
bottom length, percentage
color color
crop rectangle
font-size length, percentage
font-weight number
grid-* various
height length, percentage
left length, percentage
letter-spacing length
line-height number, length, percentage
margin-bottom length
margin-left length
margin-right length
margin-top length
max-height length, percentage
max-width length, percentage
min-height length, percentage
min-width length, percentage
opacity number
outline-color color
outline-offset integer
outline-width length
padding-bottom length
padding-left length
padding-right length
padding-top length
right length, percentage
text-indent length, percentage
text-shadow shadow
top length, percentage
vertical-align keywords, length, percentage
visibility visibility
width length, percentage
word-spacing length, percentage
z-index integer
zoom number
在元素选择器上,指定元素伪类选择器里要执行过渡的样式属性
/*设置元素样式*/
div{
width: 200px;
height: 200px;
background-color: #ff563a;
border: 5px solid #1313ff;
/*设置背景颜色、边框、边距为过渡效果,如果设置all或者不设置默认支持所有样式*/
transition-property: background-color ,border ,margin-left;
}
/*鼠标悬停后样式*/
div:hover{
background-color: #20ff26;
border: 5px solid #fff50d;
margin-left: 100px;
} <div>
<p>是一部由北青传媒股份</p>
</div>
三.transition-duration 在元素选择器里设置过渡时间
如果单纯设置过渡的样式,还不能够立刻实现效果。必须加上过渡所需的时间,因为默认情况下过渡时间为0。设置过渡时间为1秒钟,如果是半秒钟可以设置为.5s
/*设置元素样式*/
div{
width: 200px;
height: 200px;
background-color: #ff563a;
border: 5px solid #1313ff;
/*设置背景颜色、边框、边距为过渡效果,如果设置all或者不设置默认支持所有样式*/
transition-property: background-color ,border ,margin-left;
/*设置过渡时间*/
transition-duration: 1s;
}
/*鼠标悬停后样式*/
div:hover{
background-color: #20ff26;
border: 5px solid #fff50d;
margin-left: 100px;
} <div>
<p>是一部由北青传媒股份</p>
</div>
四.transition-timing-function产生缓动效果
当过渡效果运行时,比如产生缓动效果。默认情况下的缓动是:元素样式从初始状态过渡到终止状态时速度由快到慢,逐渐变慢,即ease。也是默认值,其他几种缓动方式如下表所示:
属性值 说明
ease 默认值,元素样式从初始状态过渡到终止状态时速度由
快到慢,逐渐变慢。等同于贝塞尔曲线(0.25,0.1,
0.25, 1.0)
linear 元素样式从初始状态过渡到终止状态速度是恒速。等同
于贝塞尔曲线(0.0,0.0, 1.0, 1.0)
ease-in 元素样式从初始状态过渡到终止状态时,速度越来越
快,呈一种加速状态。等同于贝塞尔曲线(0.42, 0,
1.0, 1.0)
ease-out 元素样式从初始状态过渡到终止状态时,速度越来越
慢,呈一种减速状态。等同于贝塞尔曲线(0,0,0.58,
1.0)
ease-in-out 元素样式从初始状态过渡到终止状态时,先加速,再减
速。等同于贝塞尔曲线(0.42,0, 0.58, 1.0)
cubic-bezier() 贝塞尔曲线,6个值,比较复杂,忽略
steps(1,end) 第一个值是一 个数值,表示跳跃几次。第二个值是start或者end,可选值。
表示开始时跳跃,还是结 束时跳跃
设置缓动效果
/*设置元素样式*/
div{
width: 200px;
height: 200px;
background-color: #ff563a;
border: 5px solid #1313ff;
/*设置背景颜色、边框、边距为过渡效果,如果设置all或者不设置默认支持所有样式*/
transition-property: background-color ,border ,margin-left;
/*设置过渡时间*/
transition-duration: 1s;
/*置缓动效果 */
transition-timing-function: ease; }
/*鼠标悬停后样式*/
div:hover{
background-color: #20ff26;
border: 5px solid #fff50d;
margin-left: 100px;
} <div>
<p>是一部由北青传媒股份</p>
</div>
五.transition-delay 过渡延迟
这个属性可以设置一个过渡延迟效果,就是效果在设置的延迟时间后再执行。使用transition-delay属性值。如果有多个样式效果,可以设置多个延迟时间,以空格隔开。设置延迟效果
如:transition-delay: 0s, 1s, 0s;
六.简写和版本
我可以直接使用transition来简写,有两种形式的简写。第一种是,每个样式单独声明;第二种是不去考虑样式,即使用all全部声明。
单独声明
说明:transition:过渡样式 过渡时间 缓动效果 过渡延迟;
transition:background-color 1s ease 0s,color 1s ease 0s,margin-left 1s ease 0s;
如果每个样式都是统一的,直接使用all,不去考虑样式
说明:transition: all(所有样式) 过渡时间 缓动效果 过渡延迟;
transition: all 1s ease 0s;
为了兼容旧版本,需要加上相应的浏览器前缀,版本信息如下表:
Opera Firefox Chrome Safari IE
支持需带前缀 15 ~ 22 5~ 15 4 ~ 25 3.1 ~ 6 无
支持不带前缀 23+ 16+ 26+ 6.1+ 10.0+
兼容完整版
-webkit-transition:all 1s ease 0s;
-moz-transition:all 1s ease 0s;
-o-transition:all 1s ease 0s;
-ms-transition:all 1s ease 0s;
transition: all 1s ease 0s;
第八十二节,CSS3过渡效果的更多相关文章
- CSS3过渡效果实现菜单划出效果
下载地址 这是大体上的原理,当然案例比这个多 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- css雪碧(CSS Sprite)和css3过渡效果综合应用
在网页中我们经常可以看到,有些图片在鼠标经过的时候,有一个上下或左右的滑动效果,很实用页很方便,今天正好用到,拿来和大家分享一下,有什么不对或意见欢迎指正. html部分如下,这里本来打算用jq来着, ...
- 第三百八十二节,Django+Xadmin打造上线标准的在线教育平台—xadmin管理员详情页面布局,导航图标设置
第三百八十二节,Django+Xadmin打造上线标准的在线教育平台—xadmin进阶 1.后台管理员详情页面布局 后台管理员详情页面,区块是可以拖动的,而且分为了很多个区块 这个页面的布局在xadm ...
- 第 25 章 CSS3 过渡效果
学习要点: 1.过渡简介 2.transition-property 3.transition-duration 4.transition-timing-function 5.transition-d ...
- CSS3 过渡效果触发时机的问题
像360deg过渡效果,做专题的同学应该是经常做的. <!DOCTYPE html> <html lang="en"> <head> <m ...
- 从零开始学 Web 之 CSS3(八)CSS3三个案例
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- CSS3过渡效果 兼容IE6、IE7、IE8
<style> .box{ width:120px;height:40px;background:yellowgreen;line-height:40px;transition:width ...
- 第一百八十二节,jQuery-UI,知问前端--日历 UI
jQuery-UI,知问前端--日历 UI 学习要点: 1.调用 datepicker()方法 2.修改 datepicker()样式 3.datepicker()方法的属性 4.datepicker ...
- css3过渡效果
随机推荐
- Docker集群实验环境布署--swarm【7 让docker客户端支持docker-compose】
Docker-Compose是一个部署多个容器的简单但是非常必要的工具. 登录Docker客户端的服务器(默认是安装了docker-engine的服务器),再安装compose插件 # yum i ...
- C#23种开发模式,陆续完善中
#region 单例模式 #region 线程非安全单例模式 public class Singleton1 { private Singleton1() { } private static Sin ...
- Linux连接xshell找不到IP信息
虚拟机环境下的Linux连接xshell的网络连接找不到eth0(IP)信息的解决方法 1 输入ifconfig,如果有eth0信息,直接填写eth0上面的IP信息 2 输入ifconfig ...
- 给Unity3d添加一个漂亮的标题栏
我们在做好一个小Unity3d APP,我们一般都会兴致勃勃的导出一个exe,尝试着玩我们的app.感觉还不错,有板有眼的了.然而事与愿违,我们APP里面的内容挺漂亮的,但是它的标题栏是windows ...
- apk反编译查看源码
1.将apk解压
- 更改pip源
~/.pip/下新建pip.conf文件:(Windows下载Users/xxx/pip/pip.ini) [global] trusted-host = pypi.douban.com index- ...
- maven中在本地maven仓库添加jar包
Maven 手动添加 JAR 包到本地仓库 Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 ...
- 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义。
说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0012: 类型“System.Data.Objects.DataClas ...
- haproxy(1)
参考文档: http://cbonte.github.io/haproxy-dconv/1.5/configuration.html 一.Haproxy 软件负载均衡一般通过两种方式来实现:基于操作系 ...
- delphi const
参考:http://www.cnblogs.com/tibetwolf/articles/1785744.html 1.const修饰可能会优化编译代码.关于这一点与编译器密切相关,由于变量被cons ...