CSS透明度過(guò)渡效果是實(shí)現(xiàn)在元素在不同透明度之間流動(dòng)的過(guò)程中,能夠緩慢且平滑地出現(xiàn)漸變的效果。CSS3提供了一些屬性,可以讓我們輕松實(shí)現(xiàn)這種特效。
.box { opacity: 1; transition: opacity 0.5s ease-in-out; } .box:hover { opacity: 0.5; }
在這個(gè)代碼片段中,我們?cè)?box元素上設(shè)置了opacity屬性的初始值為1,并設(shè)置了0.5秒的過(guò)渡時(shí)間(使用了transition屬性)。在:hover偽類中,我們使元素的透明度下降到了0.5,由于設(shè)置了過(guò)渡時(shí)間,所以這個(gè)過(guò)渡過(guò)程會(huì)很順暢。
除了使用opacity屬性,CSS3還提供了另一個(gè)屬性用于控制透明度——rgba()。RGBA是一種表示顏色的方法,是Red、Green、Blue和Alpha(透明度)四個(gè)值的縮寫。我們可以在樣式表中設(shè)置rgba的alpha值,從而實(shí)現(xiàn)元素的透明度變化。
.box { background-color: rgba(0, 0, 255, 0.5); transition: background-color 0.5s ease-in-out; } .box:hover { background-color: rgba(0, 0, 255, 1); }
在這個(gè)示例中,我們?cè)O(shè)置了.box元素的背景顏色為藍(lán)色,透明度設(shè)置為0.5。同樣地,我們定義了顏色變化的過(guò)渡時(shí)間。當(dāng)鼠標(biāo)懸停時(shí),我們將元素的背景顏色alpha值改為1,也就是完全不透明。于是,我們可以看到元素的背景顏色逐漸變得更加清晰。
這里需要注意的是,RGBA的值可以從0到1變化,而不是0到255。0是完全透明,1是完全不透明。