【CSS3】transition过渡

一、transition

CSS3的过渡功能就像是一种黄油,可以让CSS的一些变化变得平滑。因为原生的CSS过渡在客户端需要处理的资源要比用JavaScript和Flash少的多,所以才会更平滑。

transition的属性

属性可以分开写,也可以放在一起写,比如下面的代码,图片的宽高本来都是15px,想要让它1秒的时间内过渡到宽高为450px,通过:hover来触发,那么代码就可以如下:

img{ height:15px;

width:15px;

transition: 1s 1s height ease;/*合在一起*/ }

或者: img{ height:15px;

width: 15px;

transition-property: height;

transition-duration: 1s;

transition-delay: 1s;

transition-timing-function: ease;/*属性分开写*/ }

img:hover{ height: 450px; width: 450px; }

因为过渡所需要时间与过渡延迟时间的单位都是秒,所以在合起来写transition的属性的时候,第一个time会解析为transiton-duration,第二个解析为transition-delay。所以,可以给transition一个速记法

transiton: 过渡属性 过渡所需要时间 过渡动画函数 过渡延迟时间;

属性详解

transition-property

不是所有属性都能过渡,只有属性具有一个中间点值才具备过渡效果。完整列表,见这个列表 ,具体效果,见 这个页面

transition-duration

指定从一个属性到另一个属性过渡所要花费的时间。默认值为0,为0时,表示变化是瞬时的,看不到过渡效果。

transiton-timing-function

过渡函数,有如下几种:

liner :匀速 
ease-in:减速 
ease-out:加速 
ease-in-out:先加速再减速 
cubic-bezier:三次贝塞尔曲线,可以定制 点击这里

触发过渡

单纯的代码不会触发任何过渡操作,需要通过用户的行为(如点击,悬浮等)触发,可触发的方式有: 
:hoever :focus :checked 媒体查询触发 javascript触发

局限性

transition的优点在于简单易用,但是它有几个很大的局限。 
(1)transition需要事件触发,所以没法在网页加载时自动发生。 
(2)transition是一次性的,不能重复发生,除非一再触发。 
(3)transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。 
(4)一条transition规则,只能定义一个属性的变化,不能涉及多个属性。 
CSS Animation就是为了解决这些问题而提出的。

时间: 2024-12-28 23:21:40

【CSS3】transition过渡的相关文章

CSS3 transition过渡

transition 属性是一个简写属性,用于设置四个过渡属性: transition: property duration timing-function delay; transition-property transition-duration transition-timing-function transition-delay 值 描述 transition-property 规定设置过渡效果的 CSS 属性的名称. transition-duration 规定完成过渡效果需要多少秒或

CSS3之过渡Transition

CSS3中的过渡Transition有四个中心属性:transition-property.transition-duration.transition-delay和transition-timing 1.transition-property的语法[css] transition-property :all(所有属性改变) || [attr] (指定要运动的样式)|| none(没有属性改变) 2.transition-property的属性值 (1)none:transition马上停止执行

【CSS3】transition过渡和animation动画

转自:http://blog.csdn.net/XIAOZHUXMEN/article/details/52003135 写在前面的话: 最近写css动画发现把tansition和animation弄混淆了,而且发现两个动画叠加后在一个元素上后,动画效果没有了,最后想的办法是在里面再包一层元素,把两个动画分开在不同的元素上,这样动画效果不受影响了.在网上找了一个tansition和animation的区别: 一.transition CSS3的过渡功能就像是一种黄油,可以让CSS的一些变化变得平

CSS3平滑过渡transition

<!DOCTYPE html><head><meta charset="utf-8" /><title>CSS3平滑过渡transition</title><meta name="description" content="" /><meta name="keywords" content="" /><script s

CSS3(2)--- 过渡(transition)

CSS3(2)--- 过渡(transition) 一.概念 1.什么是过渡 通俗理解 是从一个状态 渐渐的过渡到 另外一个状态. 比如一个盒子原先宽度为100px,当鼠标点击时盒子的宽度变成200px,如果直接从100px变化到200px.从视觉上看去并不友好.我们更喜欢看到的是平滑的过渡. 2.浮动的语法 属性语法格式 transition: 要过渡的属性 花费时间 运动曲线 何时开始; // 如果有多组属性变化,还是用逗号隔开.前两个属性必须写.后两个可以不写.运动曲线默认匀速.开始时间默

CSS3 animation动画与transition过渡比较

共同点 animation动画与transition过渡都可以实现动画效果,拥有下面共同的属性 animation:mymove 2s linear infinite alternate; transition: width 1s ease-out; 1.动画名称(name)@key-frame 2.过渡时间(duration)规定动画完成一个周期所花费的秒或毫秒.默认是 0. 3.延迟时间(delay)规定动画何时开始. 4.时间函数(timing-function)规定动画的速度曲线,默认是

css学习笔记——CSS3 transition 属性

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>CSS3 transition 属性</title> <style> .box{ width:100px; height:100px; background:red; -web

CSS 3学习——transition 过渡

以下内容根据官方规范翻译以及自己的理解整理. 1.介绍 这篇文档介绍能够实现隐式过渡的CSS新特性.文档中介绍的CSS新特性描述了CSS属性的值如何在给定的时间内平滑地从一个值变为另一个值. 2.过渡transitions 通常情况下,当CSS属性发生改变时,对应元素的CSS属性值立即从旧值变为新值,渲染结果也是立即更新.这部分介绍一种方法,可以通过使用新的CSS属性指定过渡的过程.这些新属性让元素以平滑动画的形式逐渐地从旧状态过渡到新状态. 比如,假设一个元素的left属性和backgroun

CSS3:Transition属性详解

Transition属性主要是用来对某个CSS属性的变化过程进行控制,官方的介绍是"CSS Transitions allow property changes in CSS values to occur smoothly over a specified duration.".而我个人则简单地理解为"在某个时间段内,平滑地改变某个CSS属性.". Transition又包含了四个子属性,分别为property.duration.timing-function.d