CSS3 過渡

2022-05-26 16:02 更新

CSS3中,我們?yōu)榱颂砑幽撤N效果可以從一種樣式轉(zhuǎn)變到另一個(gè)的時(shí)候,無需使用Flash動畫或JavaScript。用鼠標(biāo)移過下面的元素:


用鼠標(biāo)移過下面的元素:

CSS3
過渡

瀏覽器支持

表格中的數(shù)字表示支持該屬性的第一個(gè)瀏覽器版本號。

緊跟在 -webkit-, -ms- 或 -moz- 前的數(shù)字為支持該前綴屬性的第一個(gè)瀏覽器版本號。

屬性          
transition 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-delay 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-duration 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-property 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-timing-function 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-

它是如何工作?

CSS3 過渡是元素從一種樣式逐漸改變?yōu)榱硪环N的效果。

要實(shí)現(xiàn)這一點(diǎn),必須規(guī)定兩項(xiàng)內(nèi)容:

  • 指定要添加效果的CSS屬性

  • 指定效果的持續(xù)時(shí)間。

Opera Safari Chrome Firefox Internet Explorer

實(shí)例

應(yīng)用于寬度屬性的過渡效果,時(shí)長為 2 秒:

div
{
transition: width 2s;
-webkit-transition: width 2s; /* Safari */
}  

注意: 如果未指定的期限,transition將沒有任何效果,因?yàn)槟J(rèn)值是0。

指定的CSS屬性的值更改時(shí)效果會發(fā)生變化。一個(gè)典型CSS屬性的變化是用戶鼠標(biāo)放在一個(gè)元素上時(shí):

Opera Safari Chrome Firefox Internet Explorer

實(shí)例

規(guī)定當(dāng)鼠標(biāo)指針懸浮(:hover)于 <div>元素上時(shí):

div:hover
{
width:300px;
}  

嘗試一下 ?

注意: 當(dāng)鼠標(biāo)光標(biāo)移動到該元素時(shí),它逐漸改變它原有樣式。


多項(xiàng)改變

要添加多個(gè)樣式的變換效果,添加的屬性由逗號分隔:

Opera Safari Chrome Firefox Internet Explorer

實(shí)例

添加了寬度,高度和轉(zhuǎn)換效果:

div
{
transition: width 2s, height 2s, transform 2s;
-webkit-transition: width 2s, height 2s, -webkit-transform 2s;
}  

嘗試一下 ?



過渡屬性

下表列出了所有的過渡屬性:

屬性 描述 CSS
transition 簡寫屬性,用于在一個(gè)屬性中設(shè)置四個(gè)過渡屬性。 3
transition-property 規(guī)定應(yīng)用過渡的 CSS 屬性的名稱。 3
transition-duration 定義過渡效果花費(fèi)的時(shí)間。默認(rèn)是 0。 3
transition-timing-function 規(guī)定過渡效果的時(shí)間曲線。默認(rèn)是 "ease"。 3
transition-delay 規(guī)定過渡效果何時(shí)開始。默認(rèn)是 0。 3

下面的兩個(gè)例子設(shè)置所有過渡屬性:

Opera Safari Chrome Firefox Internet Explorer

實(shí)例

在一個(gè)例子中使用所有過渡屬性:

div
{
transition-property: width;
transition-duration: 1s;
transition-timing-function: linear;
transition-delay: 2s;
/* Safari */
-webkit-transition-property:width;
-webkit-transition-duration:1s;
-webkit-transition-timing-function:linear;
-webkit-transition-delay:2s;
}

嘗試一下 ?
Opera Safari Chrome Firefox Internet Explorer

實(shí)例

與上面的例子相同的過渡效果,但是使用了簡寫的 transition 屬性:

div
{
transition: width 1s linear 2s;
/* Safari */
-webkit-transition:width 1s linear 2s;
}  

嘗試一下 ?

如果您對于CSS3過渡還是不太了解,建議您通過上文的“嘗試一下”進(jìn)行多加練習(xí)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號