過渡屬性 transition-property
早期在Web中要實現動畫效果,都是依賴於JavaScript或Flash來完成。但在CSS3中新增加了一個新的模塊transition,它可以通過一些簡單的CSS事件來觸發元素的外觀變化,讓效果顯得更加細膩。
就是通過滑鼠的單擊、獲得焦點,被點擊或對元素任何改變中觸發,並平滑地以動畫效果改變CSS的屬性值。
在CSS中創建簡單的過渡效果可以從以下幾個步驟來實現:
第一,在默認樣式中聲明元素的初始狀態樣式;
第二,聲明過渡元素最終狀態樣式,比如懸浮狀態;
第三,在默認樣式中通過添加過渡函數,添加一些不同的樣式。
CSS3的過度transition屬性是一個複合屬性,主要包括以下幾個子屬性:
transition-property:指定過渡或動態模擬的CSS屬性
transition-duration:指定完成過渡所需的時間
transition-timing-function:指定過渡函數
transition-delay:指定開始出現的延遲時間
先來看transition-property屬性
transition-property用來指定過渡動畫的CSS屬性名稱,而這個過渡屬性只有具備一個中點值的屬性(需要産生動畫的屬性)才能具備過渡效果,其對應具有過渡的CSS屬性主要有:
background-color | background-position | border-bottom-color | border-bottom-width |
brder-left-color | border-left-width | border-right-color | border-right-width |
border-spacing | border-top-color | border-top-width | bottom |
clip | color | font-size | font-weight |
height | left | letter-spacing | line-height |
margin-bottom | margin-left | margin-right | margin-top |
max-height | max-width | min-height | min-width |
opacity | outline-color | outline-width | padding-bottom |
padding-left | padding-right | padding-top | right |
text-indent | text-shadow | vertical-align | visibility |
width | word-spacing | z-index |
HTML:
<div></div>
CSS:
div { width: 200px; height: 200px; background-color:red; margin: 20px auto; -webkit-transition: background-color .5s ease .1s; transition: background-color .5s ease .1s; } div:hover { background-color: orange; }
演示結果:
滑鼠移入 滑鼠移出
特別注意:
當“transition-property”屬性設置爲all時,表示的是所有中點值的屬性。
用一個簡單的例子來說明這個問題:
假設你的初始狀態設置了樣式“width”,“height”,“background”,當你在終始狀態都改變了這三個屬性,那麽all代表的就是“width”、“height”和“background”。如果你的終始狀態只改變了“width”和“height”時,那麽all代表的就是“width”和“height”。