您现在的位置是:网站首页> 编程资料编程资料
浅谈CSS过渡、动画和变换菜单栏 “三” 变形为“X”css3过渡动画详解Css3新特性应用之过渡与动画CSS3中的元素过渡属性transition示例详解css过渡+3D效果的简单实现CSS3过渡transition效果实例介绍用Dreamweaver制作网页中常用的过渡效果css3过渡_动力节点Java学院整理
2021-09-04
881人已围观
简介 下面小编就为大家带来一篇浅谈CSS过渡、动画和变换。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
1. 使用过渡
过渡效果一般是由浏览器直接改变元素的CSS属性实现的。例如,如果使用:hover选择器,一旦用户将鼠标悬停在元素之上,浏览器就会应用跟选择器关联的属性。
当用户将鼠标悬停在span元素上的时候,浏览器就会响应,直接应用新的属性。变化如下图所示:
CCS过渡属性允许控制应用新属性值的速度。比如可以选择逐渐改变示例中span元素的外观,让鼠标移到单词banana上的效果更和谐。
transition-delay 和 transition-duration 属性指定为CSS时间,是一个数字,单位为ms(毫秒)或者s(秒)。
transition简写属性的格式如下:
- transition: <transition-property> <transition-duration> <transition-timing-function> <transition-delay>
修改前面示例的CSS代码如下:
- p { padding: 5px; border: medium double black; background-color: lightgray; font-family: sans-serif;}
- #banana { font-size: large; border: medium solid green;}
- #banana:hover {
- font-size: x-large; border: medium solid white; background-color: #1fa6e6; color: white; padding: 4px;
- transition-delay: 100ms;
- transition-property: background-color,color,padding,font-size,border;
- transition-duration: 500ms;
- }
在这个例子中,为样式添加了过渡,是通过#banana:hover 选择器应用的。过渡会在用户将鼠标悬停在span元素上100ms之后开始,持续时间为500ms,过渡应用到 background-color、color、padding、font-size和border属性。下面的效果图展示了这个过渡的渐进过程:
注意这个示例中指定多个属性的方式。过渡属性的值用逗号隔开,这样过渡效果才会同时出现。可以为延迟时间和持续时间指定多个值,它代表的意思是不同的属性在不同的时间点开始过渡,且持续时间也不同。
1.1 创建反向过渡
过渡只有在应用与其关联的样式时才会生效。示例样式中使用了:hover 选择器,这意味着只有用户将鼠标悬停在span元素上才会应用样式。用户一旦将鼠标从span元素上已开,只剩下#banana样式,默认情况下,元素的外观会立刻回到初始状态。
因为这个原因,大多数过渡成对出现:暂时状态的过渡和方向相反的反向过渡。修改前面示例的CCS代码,从而展示如何通过应用另一种过渡样式平滑地返回初始样式。
- p { padding: 5px; border: medium double black; background-color: lightgray; font-family: sans-serif;}
- #banana {
- font-size: large; border: medium solid green;
- transition-delay: 100ms;
- transition-duration: 500ms;}
- #banana:hover {
- font-size: x-large; border: medium solid white; background-color: #1fa6e6; color: white; padding: 4px;
- transition-delay: 100ms;
- transition-property: background-color,color,padding,font-size,border;
- transition-duration: 500ms;
- }
1.2 选择中间值的计算方式
使用过渡时,浏览器需要为每个属性计算初始值和最终值之间的中间值。使用transition-timing-function 属性指定计算中间值的方式,表示为四个点控制的三次贝塞尔曲线。有五种预设曲线可以选择,由下面的值表示:
* ease(默认值)
* linear
* ease-in
* ease-out
* ease-in-out
从下图可以看到这五种曲线,它们展示了中间值随着时间的推移变为最终值的速率。
搞清楚这些值最简单的办法就是在自己的HTML文档中试验。还有另外一个值 cubic-bezier,可用来指定自定义曲线。
修改前面示例的CSS样式如下,展示 transition-timing-function 属性的应用:
- p { padding: 5px; border: medium double black; background-color: lightgray; font-family: sans-serif;}
- #banana {
- font-size: large; border: medium solid green;
- transition-delay: 10ms;
- transition-duration: 250ms;;
- }
- #banana:hover {
- font-size: x-large; border: medium solid white; background-color: #1fa6e6; color: white; padding: 4px;
- transition-delay: 100ms;
- transition-property: background-color,color,padding,font-size,border;
- transition-duration: 500ms;
- transition-timing-function: linear;
- }
2. 使用动画
CSS动画本质上是增强的过渡。在如何从一种样式过渡到另一种样式的过程中,具有了更多选择、更多控制,以及更多灵活性。
animation 简写属性的格式如下:
- animation: <animation-name> <animation-duration> <animation-timing-function> <animation-delay> <animation-iteration-count>
注意,这些属性都不是用来指定要作为动画的CSS属性的。这是因为动画是在两部分定义的。第一部分包含在样式声明中,使用了上面表中列出的属性。它们定义了动画的样式,但并没有定义哪些属性是动画。第二部分使用@key-frames规则窗口,用来定义定义动画的属性。从下面代码中可以看到定义动画的这两部分。
- >
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Exampletitle>
- <style type="text/css">
- #ball{
- width: 180px; height: 180px; background-color:green; margin:20px auto;border-radius: 90px;
- -webkit-animation-delay: 100ms;
- -webkit-animation-duration: 2000ms;
- -webkit-animation-iteration-count: infinite;
- -webkit-animation-timing-function: linear;
- -webkit-animation-name:'GrowQuare';
- }
- @-webkit-keyframes GrowQuare {
- to {
- background-color: yellow;
- border-radius: 0;
- }
- }
- style>
- head>
- <body>
- <div id="ball">div>
- body>
- html>
要明白在这个示例中做了什么,应该仔细研究一下动画的两部分。第一部分是在样式中定义动画属性,是跟#ball选择器一起的。先看看基本属性:选择器样式应用100ms后开始播放动画属性,持续时间2000ms,无限重复播放,中间值使用linear函数计算。除了重复
相关内容
- CSS更改鼠标为手状样式浅谈CSS样式权值引用css样式的书写格式详解Web前端开发css基础样式总结(推荐)纯CSS3超酷书架样式404页面特效源码HTML CSS样式基础(必看篇)CSS样式覆盖规则全面了解
- 有关绝对定位的全面理解绝对定位元素被遮挡的解决方法CSS绝对定位元素left设为50%实现水平居中绝对定位的元素在ie6下不显示隐藏了的有效解决方法IE7中绝对定位元素之间的遮盖问题示例探讨将一个绝对定位的div水平垂直居中对齐css教程之绝对定位使用详解
- 浅谈css3中的前缀CSS3和js带炫酷鼠标滑过的多列布局特效源码浅谈HTML5 & CSS3的新交互特性CSS3鼠标滑过图片标题遮罩动画特效源码 8种纯CSS3绘制打火机动画火焰效果纯CSS3实现鼠标滑过tip提示框动画特效源码HTML5和CSS3实例教程总结(推荐)
- 全面了解css 属性选择器CSS 属性选择器_动力节点Java学院整理总结30个CSS3选择器 详解CSS3中属性选择器新增加的特性详解CSS3选择器的使用方法汇总CSS属性简写和选择器的优先级问题 CSS3 选择器 属性选择器介绍CSS属性选择器的四种格式-CSS教程-网页制作-网页教学网css对边框的属性控制和链接的伪类选择器-CSS教程-网页制作-网页教学网使用CSS属性选择器来拼接HTML的DNA的方法
- 浅谈CSS中display/float/position属性值的相互影响css中的position属性值的探究(小结)
- css(display,float,position)深入理解详解css中的float深入理解和应用css中Float属性CSS重要属性之float学习心得(分享)老生常谈css中float的用法CSS使用float属性设置浮动元素的实例教程使用CSS的overflow属性防止float撑开div的方法CSS清除浮动float的三种方法小结
- CSS使用自定义光标样式的实现_遁地龙卷风纯CSS3实现可用鼠标控制娘口三三笑脸动画特效源码纯CSS3制作逼真的汽车运动动画特效源码浅谈CSS中display/float/position属性值的相互影响css(display,float,position)深入理解纯JS和CSS3实现页面滚动动画库特效源码常用的 css 命名规则(推荐)
- 纯CSS3单页切换导航菜单界面设计的简单实现HTML5实现响应式圆形导航全屏图片切换excel表格如何制作导航栏效果 制作导航栏切换效果的方法CSS实现导航条Tab切换的三种方法介绍纯CSS实现导航栏Tab切换效果使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效
- canvas之万花筒效果的简单实现(推荐)HTML5 Canvas支持移动端的刮刮卡特效基于Html5+Canvas实现2016年七夕情人节倒计时特效源码html5 canvas实现的可用于手机端手指滑动刮刮乐效果源码html5 canvas实现的自定义边数绘制多边图形功能源码基于HTML5 Canvas的水波涟漪特效源码html5基于canvas实现的文字标签云3D旋转动画特效源码用html5的canvas和JavaScript创建一个绘图程序的简单实例
- 用CSS制作三角形和按钮的简单实例CSS3 画基本图形,圆形、椭圆形、三角形等CSS仿网易首页的头部菜单栏按钮和三角形制作方法CSS实现三角效果的简单实例使用css实现三角符号效果