? 在使用css的transition的過程中,遇到一些有趣的問題,這里做一些簡單記錄,會有持續(xù)的更新,之后可能會把他們整理成統(tǒng)一的文檔作為記錄
淡入淡出不能使用display:none
在使用transition的時候,對頁面的淡入淡出不能使用display:none,這樣會直接讓頁面立即出現(xiàn)和消失。
原因是display設(shè)置為none會讓元素脫離文檔流,從在dom層就不進(jìn)行渲染,transition無法對脫離文檔流的元素進(jìn)行操作,所以無法實(shí)現(xiàn)過渡
常用的處理辦法是使用visibility與opacity兩個屬性作為淡入淡出的參考值
visibility是單純的表示元素是否可見屬性值如下
| 值 | 描述 |
|---|---|
| visible | 默認(rèn)值。元素是可見的。 |
| hidden | 元素是不可見的。 |
| collapse | 當(dāng)在表格元素中使用時,此值可刪除一行或一列,但是它不會影響表格的布局。被行或列占據(jù)的空間會留給其他內(nèi)容使用。如果此值被用在其他的元素上,會呈現(xiàn)為 "hidden"。 |
| inherit | 規(guī)定應(yīng)該從父元素繼承 visibility 屬性的值。 |
而opacity則是透明度值,值從0.0~1.0的范圍
| 值 | 描述 |
|---|---|
| value | 指定不透明度。從0.0(完全透明)到1.0(完全不透明) |
| inherit | Opacity屬性的值應(yīng)該從父元素繼承 |