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过渡效果的更多相关文章

  1. CSS3过渡效果实现菜单划出效果

    下载地址 这是大体上的原理,当然案例比这个多 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  2. css雪碧(CSS Sprite)和css3过渡效果综合应用

    在网页中我们经常可以看到,有些图片在鼠标经过的时候,有一个上下或左右的滑动效果,很实用页很方便,今天正好用到,拿来和大家分享一下,有什么不对或意见欢迎指正. html部分如下,这里本来打算用jq来着, ...

  3. 第三百八十二节,Django+Xadmin打造上线标准的在线教育平台—xadmin管理员详情页面布局,导航图标设置

    第三百八十二节,Django+Xadmin打造上线标准的在线教育平台—xadmin进阶 1.后台管理员详情页面布局 后台管理员详情页面,区块是可以拖动的,而且分为了很多个区块 这个页面的布局在xadm ...

  4. 第 25 章 CSS3 过渡效果

    学习要点: 1.过渡简介 2.transition-property 3.transition-duration 4.transition-timing-function 5.transition-d ...

  5. CSS3 过渡效果触发时机的问题

    像360deg过渡效果,做专题的同学应该是经常做的. <!DOCTYPE html> <html lang="en"> <head> <m ...

  6. 从零开始学 Web 之 CSS3(八)CSS3三个案例

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  7. CSS3过渡效果 兼容IE6、IE7、IE8

    <style> .box{ width:120px;height:40px;background:yellowgreen;line-height:40px;transition:width ...

  8. 第一百八十二节,jQuery-UI,知问前端--日历 UI

    jQuery-UI,知问前端--日历 UI 学习要点: 1.调用 datepicker()方法 2.修改 datepicker()样式 3.datepicker()方法的属性 4.datepicker ...

  9. css3过渡效果

随机推荐

  1. 浅析ThreadLocal

    这是我的第一篇博客,条理不是很清晰,不过还是希望能对大家有所帮助. 首先明确一下这个类的作用,ThreadLocal类是用来为每个线程提供了一份变量的副本,即每个线程的局部变量.每个线程都在自己的栈空 ...

  2. Flexible 弹性盒子模型之CSS justify-content 属性

    实例 在弹性盒对象的 <div> 元素中的各项周围留有空白: div { display: flex; justify-content: space-around; } 复制 效果预览 浏 ...

  3. Codeforces Round #386 (Div. 2)

    迟到的一次比赛 最近状态很崩溃 网速很慢 然后前面五题看了都有打 但是 只有A B E 是过了的 是时候要反省一下 A.随便判断一下就好 最少的份数嘛 B.画出来之后是一下子左边一下子右边 打一个递归 ...

  4. ubuntu16.04 samba 配置

    samba是一个很有用的在Linux和Windows之间共享文件的服务器程序,在工作的时候一直在使用,不过都是别人配置好的环境,自已一直没有配置过Samba服务器,今天尝试着自己配置的一次遇到了很多的 ...

  5. iOS NSNotificationCenter 移除通知带来的crash

    Where to remove observer for NSNotification? 在dealloc方法中移除通知观察者带来crash NSNotificationCenter中的通知消息已经发 ...

  6. arm指令集

    http://blog.chinaunix.net/uid-20769502-id-112445.html

  7. Listview右侧 IndexBar

    qq 好友聊天界面,右侧 IndexBar  A B C D ,点击跳转到相应的联系人名字 import android.content.Context; import android.graphic ...

  8. 中兴电信光纤猫F450获取管理员密码方法

    初衷:为了完成端口映射,一开始以为电信光猫不支持自定义路由,因为通过useradmin登录进去后没有找到对应的选项.一番了解之后,原来光猫有超级密码,电信装机时是不会告诉你的,电信客服一般也不会告诉你 ...

  9. IMAX公司CEO:进军VR产业,打造VR体验中心

    591ARVR资讯网www.591arvr.com报道近日,<财富>杂志采访了IMAX首席执行官理查德·葛尔方(Richar Gelfond),后者谈了谈虚拟现实和IMAX正在打造的VR影 ...

  10. 邂逅python

    你很美 幸运遇见你 很幸运,能在现在这么多繁杂的语言中选择python.初识python是在2016年的七月.大二学期刚刚结束,留在学校准备学点东西.刚好听同学说下学期要学习python,所以决定要学 ...