初探CSS3 - 过渡属性transition

CSS3的过渡能够为元素的变化提供更平滑、细腻的用户体验。比如在CSS2.1的时候,我们使用 :hover 伪类改变链接颜色时候,颜色会很生硬直接地由一种颜色变化到另外一种颜色。但是在使用CSS3的过渡属性之后,这种颜色的变化会更加生动细腻。

以下是创建过渡的基本步骤:

1,在默认样式中声明元素的初始状态样式

2,声明过渡元素的最终样式

3,在初始状态样式中添加过渡函数

CSS3的过渡属性是 transition ,transition是一个复合属性,简化的语法如下所示:

transition:[<‘transition-property‘> || <‘transition-duration‘> || <‘transition-timeing-function‘> || <‘transition-delay‘>]*

主要包含一下几个属性

transition-property  指定过渡或动态模拟的CSS属性
transition-duration  指定完成过渡所需要的时间
transition-timing-function  指定过渡函数
transition-delay  指定过渡开始出现的延迟时间

我们先看一个简单的例子

<!DOCTYPE html>
<html>
<head>
<title>transition</title>
<meta charset="utf-8" />
<style type="text/css">
body{background:#eee;}
*{margin:0; padding:0; font-family:Arial,"微软雅黑"; cursor:default;}
.wrap{margin:100px;}
.wrap{transition:background 0.5s ease-in-out; width:100px; height:100px; background:#92B901; border-radius:5px;}
.wrap:hover{background:#FFC631;}
</style>
</head>
<body>
<div class="wrap"></div>
</body>
</html>

transition-property 属性规定应用过渡效果的 CSS 属性的名称,必须要设置这个属性,否则将不会有任何效果产生。默认值为all,任何可以过渡的元素都会进行过渡。并不是所有的属性都能进行过渡,以下这些常见的属性能进行过渡。

属性名 类型
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

transition-duration属性指定过渡完成所需要的时间,默认值为0,同样也可以设置多个值,如下:

.wrap{transition-property:background,border-radius; transition-duration:0.5s,0.5s; transition-timing-function:ease-in-out,ease-in-out; width:100px; height:100px; background:#92B901;}
.wrap:hover{background:#FFC631; border-radius:50%;}

trabsition-timing-function属性指定某种指代过渡的”缓动函数“。可以将属性值设置为单一过渡函数、三次贝塞尔曲线和阶梯函数。

单一过渡函数

1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).

2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).

3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).

4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).

5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)

6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。

transition-delay属性用来定义延迟时间,也就是说改变元素属性值之后多长时间开始执行过渡效果,默认为0。将上面的例子增加延迟时间就可以制作出一个队列动画:

transition-delay:0,0.5s;

最后,transiton属性和其他CSS3属性一样摆脱不了浏览器的兼容问题。因为transition最早是有由webkit内核浏览器提出来的,mozilla和opera都是最近版本才支持这个属性,而我们的大众型浏览器IE全家都是不支持,另外由于各大现代浏览器Firefox,Safari,Chrome,Opera都还不支持W3C的标准写法,所以在应用transition时我们有必要加上各自的前缀,最好在放上我们W3C的标准写法,这样标准的会覆盖前面的写法,只要浏览器支持我们的transition属性,那么这种效果就会自动加上去。

时间: 2024-10-25 11:02:53

初探CSS3 - 过渡属性transition的相关文章

CSS3 过渡属性

CSS3 过渡多年来, Web前端开发人员一直在寻求通过HTML和CSS实现一些动画交互效果, 而不再使用JavaScript 或Flash. 现在他们的愿望实现了. CSS3除了给我们带来前面介绍的一些 特殊功能模块之外, 还为Web设计师添加了 一些动画功能模块. 可以通过:hover.:focus.:active.:checked 或者JavaScript 触发一个元素,这样,外观变化会显得更细腻,而不会让人感觉" 一触即发".例如悬浮修改链接色,在 CSS2.1中鼠标悬浮时,

css3 动画属性transition

transition Internet Explorer 9 以及更早版本的浏览器不支持 transition 属性. Internet Explorer 10.Firefox.Opera 和 Chrome 支持 transition 属性. Safari 支持替代的 -webkit-transition 属性. transition 属性是一个简写属性,用于设置四个过渡属性: 值 属性 transition-property 规定设置过渡效果的 CSS 属性的名称 transition-dur

Css3 过渡(Transition)特效回调函数

Css3 出来之后,能够说是替代了Flash,通过使用Html5和Css3的完美结合.就能够做出不论什么你想得到的特效,这里不再阐述... 近期在做一个喝水签到的功能.在想签到成功之后,签到框能够模拟被水充满的效果.如图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 这是一个简单的颜色过渡,几行代

css过渡属性transition简单示例

2.transition 简单实例 demo1→在线预览源代码 效果 demo2→在线预览源代码 效果 demo3→在线预览源代码 效果 原文地址:https://www.cnblogs.com/roseAT/p/12090863.html

【CSS3 transform属性和过渡属性详解】

CSS3transform属性详解 transform字面上就是变形,改变的意思. 在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. 2D Transform 方法 translate() 根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动. rotate() 在一个给定度数顺时针旋转的元素.负值是允许的,这样是元素逆时针旋转. scale() 该元素增加或减少的大小,取决于宽度(X轴)和

css3属性 transition transform

1.transition 译:过渡,转变 可以设置过渡属性 transition: property duration timing-function delay; transition-property 规定设置过渡效果的 CSS 属性的名称. transition-duration 规定完成过渡效果需要多少秒或毫秒. transition-timing-function 规定速度效果的速度曲线. transition-delay 定义过渡效果何时开始.  transition-timing-

CSS3学习(CSS3过渡、CSS3动画)

CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加过渡效果.我们仅仅使用到了一个transition属性,专门来写过渡从一个样式到另一个样式过渡时所花费的时间,以秒为单位.若时长不规定,默认为0,即没有过渡时间.在使用这个过渡效果的时候,我们使用了类似于超链接的l(link).v(visited).h(hover).a(active)样式的控制.此

CSS3动画属性

CSS3动画属性有哪些呢? 1.transition: 过渡: 特点:需要事件进行触发(鼠标事件触发)才会随时间改变其css属性 css3过渡属性: 1. transition-property:    检索或设置对象中的参与过渡的属性 2. transition-duration:    检索或设置对象过渡的持续时间 3. transition-delay: 检索或设置对象延迟过渡的时间 4. transition-timing-function: 检索或设置对象中过渡的动画类型 简写方法:

css3中的transition渐变过渡属性的认识.

css3新增的属性transition可以让元素产生动画效果: 用法(兼容代码): -webkit-transition:property(属性样式) duration(过渡时间) timing-function过渡模式(5种过渡模式效果) -moz-transition:property(属性样式) duration(过渡时间) timing-function过渡模式(5种过渡模式效果) -o-transition:property(属性样式) duration(过渡时间) timing-fu