CSS3-background-image漸變


實現效果如下:

觀察發現鼠標放上去的時候出現了三個變化,漸變背景,文字位移和圖片放大。

漸變背景:background-image: linear-gradient(transparent,rgba(0, 0, 0, .6)); // 從transparent白色到0.6透明度的黑色。默認情況下背景遮罩不顯示(opacity:0),hover的時候定位到盒子上(opacity:1)

文字位移:transform:translate(0,80px) // 水平位置保持不變,垂直方向隱藏”查看更多“這幾個字。當鼠標hover的時候進行還原 transform: translate(0, 0);

圖片放大:當鼠標hover的時候 transform:scale(1.1) 實現放大

整體代碼如下:

1     <div class="box">
2         <img src="../images/product.jpeg" alt="">
3         <div class="dis">
4             <p>OceanStor Pacific 海量存儲斬獲2021 Interop金獎</p>
5             <p>查看更多</p>
6         </div>
7         <div class="mask"></div>
8     </div>
 1 <style>
 2     .box {
 3         position: relative;
 4         width: 768px;
 5         height: 542px;
 6         overflow: hidden;
 7     }
 8 
 9     .box .dis {
10         position: absolute;
11         left: 10px;
12         bottom: 10px;
13         font-size: 26px;
14         color: #fff;
15         transform: translate(0, 80px);
16         z-index: 1;
17 
18         transition: all .5s;
19     }
20 
21     .box:hover .dis {
22         transform: translate(0, 0);
23     }
24 
25     .box img {
26         transition: all .5s;
27     }
28 
29     .box:hover img {
30         transform: scale(1.1);
31     }
32 
33     .mask {
34         position: absolute;
35         top: 0;
36         left: 0;
37         width: 768px;
38         height: 542px;
39         opacity: 0;
40         background-image: linear-gradient(transparent,
41                 rgba(0, 0, 0, .6));
42         transition: all .2s;
43     }
44 
45     .box:hover .mask {
46         opacity: 1;
47     }
48 </style>

注意要讓文字保持在最前面(z-index:1),否則加上背景遮罩會影響文字的顯示效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM