css过渡transition

一:定义

transition是一个复合属性,包括transition-property,transition-duration,transition-timing-function,transition-delay四个子属性。

  transition-property:过渡属性(默认值为all,就是所有属性一起过渡)

transition-duration:过渡持续时间(默认为0s,一定要带时间参数s,或者ms

transition-timing-function:过渡函数(默认值为ease函数,缓慢的意思,就是开始和结束时慢,中间快)

transition-delay:过渡延迟时间(默认值为0s,一定要带时间参数s,或者ms)

【注意】一般写的时候为了适应浏览器兼容性,一般都是-webkit-transition,-moz-transition等

.test{
    height: 100px;
    width: 100px;
    background-color: pink;
    transition-duration: 3s;
/*     以下三值为默认值,稍后会详细介绍 */
    transition-property: all;
    transition-timing-function: ease;
    transition-delay: 0s;
}    
.test:hover{
    width: 500px;
}

<div class="test"></div>


//鼠标移动到元素上,会出现宽度变化效果

二:复合属性

过渡transition的四个子属性只有transition-duration是必需值且不能为0.其中transition-duration和transition-delay都是时间。当两个时间同时出现时,第一个是transition-duration,第二个是transition-delay;当只有一个时间时,它是transition-duration,而transition-delay为默认值0s。

transition:<transition-property> || <transition-duration>||<transition-timing-function>||<transition-delay>

.test{
    height: 100px;
    width: 100px;
    background-color: pink;
/*代表持续时间为2s,延迟时间为默认值0s*/
    transition:2s;
}    
.test:hover{
    width: 500px;
}
<div class="test"></div>

//表示持续时间是transition-duration:2s。默认属性transition-property:all,默认过渡函数transition-timing-function:ease。默认延迟时间transition-delay:0s。


三:过渡属性

transition-property

值:none | all |<transition-property>[,<transition-property>]*

初始值:all

应用于:所有元素

继承性:无

none:没有指定任何属性
all:默认值,表示指定元素所有支持transition-property属性的样式
<transition-property>:可过渡的样式,可用逗号分开写多个样式


四:过渡持续时间

该属性的单位是秒s或者ms

transition-duration

值:time

初始值:0s

应用于:所有元素

继承性:无

【注意】该属性不能为负值

【注意】若该属性为0s则为默认值,若为0则为无效值。所以必须带单位。

【注意】该值为单值时,即所有过渡属性都对应同样时间;该值为多值时,过渡属性按照属性对应持续时间。

如下:

	transition-property:width,background
	transition-duration:1s//表示width和background过渡时间都是1s
	transition-duration:1s,4s//表示width过渡时间是1s,background过渡时间是4s

 五:过渡延迟时间

duration-delay

值:time

初始值:0s

应用于:所有元素

继承性:无

【注意】该属性若为负值,无延迟效果,但过渡元素的起始值将从0变成设定值(设定值 = 延迟时间+持续时间)。若该设定值小于等于0,则无过渡效果;若该设定值大于0,则过渡元素从该设定值开始完成剩余的过渡效果

【注意】若该属性为0s则为默认值,若为0则为无效值,所以必须带参数

【注意】该值为单值时,即所有过渡属性都对应同样时间延迟,该值为多值时,过渡属性按照顺序对应延迟时间

.test{
			    height: 100px;
			    width: 100px;
			    background-color: pink;
			    color: #FF0000;			
			    transition:all 3s ease -1s;
			  
			} 
			.test:hover{
				color: #fff;
			    width: 500px;
			    background-color: green;
			}

<div class="test">哈哈哈哈</div>

延迟时间是-1s,但是过渡时间是3s,设定值=3+(-1)=2s,所以过渡时间是2s,延迟时间是0s


六:过渡时间函数

transition-timing-function

值:<time-function>

初始值:ease

应用于:所有元素

继承性:无

取值:

ease:开始和结束慢,中间快。
linear:匀速。
ease-in:开始慢
ease-out:结束慢
ease-in-out:开始和结束慢,中间快,但比ease幅度大。
step-start:直接位于结束处
step-end:位于开始经过时间间隔后结束

七:触发过渡方式

一般,过渡transition的触发有三种方式,分别是伪类触发,媒体查询触发和JavaScript触发,其中常用伪类触发包括:hover  :focus, :active等

触发原理:就是改变了之前css设置的属性的值

伪类触发:

hover,当鼠标悬停触发时,可以改变width,background等属性值

active:用户单击元素并按住鼠标时触发

focus:获得焦点时触发

@media触发

符合媒体查询条件时触发

@media (max-width:1000px){
		.test{
			width:500px
		}
	}

点击事件触发

test.οnclick=function(){
	test.style.width = '300px';
	setTimeout(function(){
		test.style.width = '100px'
		})
	}

退货要让一人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值