隨著前端技術的不斷發展,CSS3已經成為了頁面渲染中必不可少的一個環節。其中,圖片特效的實現也是CSS3的熱門應用之一。下面我們就來看一下CSS3圖片特效的具體實現。
.img { position: relative; display: inline-block; width: 300px; height: 200px; } .img::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: all 0.3s ease; background: linear-gradient(to right, #333, transparent); transform: scaleX(0); transform-origin: left; } .img:hover::before { transform: scaleX(1); }
上面是一個簡單的圖片漸變特效代碼,通過該代碼我們可以看到具體實現過程。首先,我們需要為圖片設置一個相對定位的容器,然后用偽元素:before為容器添加一個漸變的背景層。并使用CSS3的transform屬性設置其X軸的縮放值為0,即不可見。最后使用:hover偽類實現當鼠標移上去時改變其transform值,使其顯示出來。
.img2 { position: relative; display: inline-block; width: 300px; height: 200px; } .img2::before { content: ''; position: absolute; top: -10px; left: -10px; right: -10px; bottom: -10px; background: linear-gradient(to bottom, #333, #fff, #333); z-index: -1; filter: blur(20px); opacity: 0.5; transition: all 0.6s ease; } .img2:hover::before { opacity: 1; filter: blur(10px); }
接下來是一個圖片模糊放大特效,該效果主要利用了CSS3的濾鏡和透明度屬性。同樣通過偽元素添加一個背景層,然后設置z-index為-1以使其位于容器下方并模糊處理。再使用過渡效果實現鼠標hover時的逐漸放大以及模糊處理的比例變化。總體效果非常驚艷,希望大家喜歡!