溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

css3過渡與轉(zhuǎn)換的方法

發(fā)布時間:2022-03-08 11:03:47 來源:億速云 閱讀:223 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“css3過渡與轉(zhuǎn)換的方法”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“css3過渡與轉(zhuǎn)換的方法”文章能幫助大家解決問題。

一 css3過渡 轉(zhuǎn)換

css3過渡(transition)允許我們在限定的時間內(nèi)從一個屬性值轉(zhuǎn)變到另一個屬性值.

●transition-property:指定要轉(zhuǎn)換的屬性

●transition-duration:指定轉(zhuǎn)換發(fā)生的持續(xù)時間

●transition-timing-function:指定轉(zhuǎn)換的速度在其持續(xù)時間內(nèi)如何變化

●transition-delay:指定過渡效果的延遲(以秒為單位)

在下面的例子中,我們將transition屬性設(shè)置為持續(xù)時間為5s的轉(zhuǎn)換效果.并設(shè)置ease-in定時函數(shù),該函數(shù)有淡入的效果.

css代碼:

transition:transform 5s ease-in;

過渡效果可以應(yīng)用于各種css屬性,包括:背景顏色,寬度,高度,不透明度等等.

在下面的例子中,div元素的寬度和高度都是100px,并有一個紅色的背景.我么為width屬性指定一個過渡效果,持續(xù)時間為3s.

css代碼:

div.transition{ width:100px; height:100px;background:red;color:white;transition:width 3s; }

div.transition:hover{ width:250px;}

效果如下:

如果你將光標(biāo)懸停在div元素上,則會從左向右移動.

當(dāng)光標(biāo)被移出div元素時,它將逐漸變回原來的樣式.

transition-timing-function屬性指定過渡效果的速度曲線.

它可以有以下值:

ease:動畫開始緩慢,然后加速(默認(rèn)值)

ease-in:緩慢開始,然后加速,突然停止.

ease-out:快速啟動,但減速停止.

ease-in-out:類似于緩解,但更加微妙的加速和減速.

linear:勻速轉(zhuǎn)換

cubic-bezier()函數(shù),它允許你在cubic-bezier(立方體-貝塞爾)函數(shù)中定義你自己的值.取值范圍為0~1之間.

css代碼:

transition-timing-function:cubic-bezier(0,0,1,1);

二 css3 transform:rotate()

css3中transform(轉(zhuǎn)換)允許你翻轉(zhuǎn),旋轉(zhuǎn),縮放和傾斜元素.

transform(轉(zhuǎn)換)是一種讓元素更改形狀,大小和位置的效果

css3支持2d和3d轉(zhuǎn)換.

設(shè)置15deg的角度旋轉(zhuǎn)(順時針方向旋轉(zhuǎn)),css代碼如下:

transform:totate(15deg);

正值,順時針旋轉(zhuǎn);負(fù)值,逆時針旋轉(zhuǎn).

三 css3 transform-origin,translate(),skew()

transition-origin(原點)屬性允許你更改要轉(zhuǎn)換元素的位置.該屬性的默認(rèn)值是50% 50%,對應(yīng)于元素的中間.

在下面的例子中,我們將transform-origin屬性和transform-ratate一起使用.x軸(水平)的原點從左側(cè)設(shè)定為30%.

y軸(垂直)的原點從上方設(shè)定為80%.

css代碼:

div.empty-div{position:relative;height:100px;width:100px;margin:30px;padding:10px;border:2px solid black;}

div.green-div{  padding:50px; position:absolute;background-color:LightGreen;border:2px  solid red;transform:rotate(15deg);transform-origin:30% 80%;}

0 0 與左上相同,100% 100%與右下相同.

transform-origin屬性必須與transform屬性一起使用.

translate()方法從當(dāng)前位置移動一個元素(根據(jù)給定的x軸和y軸的參數(shù)).正值會將元素

向下推到其默認(rèn)位置的右側(cè).而負(fù)值則會將元素向上并拖至其默認(rèn)位置的左側(cè).

css代碼:

transform:translate(120px,60px);

skew()通過給元素設(shè)置x軸和y軸的傾斜角度值來實現(xiàn)傾斜.

以下例子,沿著x軸將<div>元素傾斜45度

css代碼:

transform:skew(45deg);

-webkit-transform:skew(45deg);

如果沒有指定第二個參數(shù),則它的默認(rèn)值為零.

四 css3 scale()函數(shù)和多重變換

scale()方法根據(jù)已設(shè)定的高度和寬度參數(shù)來增加或減少元素的大小.1代表原始大小,2代表原始尺寸的兩倍,以此類推.

css代碼:

transform:scale(0.7 0.7);

如果只傳遞一個參數(shù),則默認(rèn)寬度與高度都使用該參數(shù).

一次可以使用多個轉(zhuǎn)換.比如同時旋轉(zhuǎn)和縮放元素的大小.對元素應(yīng)用多個變換,只需要用空格隔開它們.

css代碼:

transform:rotate(35deg) translate(120px);

五 css3關(guān)鍵幀與動畫

動畫讓一個元素從一種風(fēng)格變?yōu)榱硪环N風(fēng)格.

你可以根據(jù)需要更改任意數(shù)量的css屬性.

關(guān)鍵幀將保存元素在特定時間的樣式

@keyframes規(guī)則

當(dāng)你在@keyframes規(guī)則中指定css樣式時,動畫將在某些時間從當(dāng)前樣式逐漸變?yōu)樾聵邮?

要使動畫起作用,必須將動畫綁定到元素.

以下例子,將更改元素的背景顏色三次:動畫完成50%,完成70%,動畫完成100%時.

@keyframes animation-name{ 0% {background-color:red;} 50% {background-color:yellow;} 70% {background-color:green;}

100% {background-color:green;} }

animation-name是為動畫指定的名字,你可以設(shè)置成任意的名字.

作為百分比的替代方法,你可以使用from和to關(guān)鍵字分別代替0%起始點,100%結(jié)束點.

要使動畫起作用,必須將動畫綁定到元素.

在下面的例子中,動畫持續(xù)一秒鐘,并將紅色div的背景顏色更改為綠色和藍(lán)色

div.animation{ width:100px;height:100px;background-color:red;animation-name:能否;animation-duration:1s;}

@keyframes 能否{ 0% {background-color:red;} 50%{ background-color:green;} 100%{background-color:blue;} }

背景顏色將在1s內(nèi)自動變化.

animation-name:指定動畫的名字.

animation-duration:指定所選動畫的持續(xù)時間.

如果為指定animation-duration屬性,則動畫將不起作用.因為默認(rèn)值是0.

關(guān)于“css3過渡與轉(zhuǎn)換的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI