純 CSS 實現圖片放大鏡效果,是一個非常常見的技術。它可以通過鼠標懸浮在圖片上時,在放大鏡區域顯示放大后的圖片,從而提供更好的用戶體驗。
實現圖片放大鏡效果可以使用 CSS3 的:hover
偽類和transform
屬性,同時利用position
和z-index
來定位和層疊元素。這里就讓我們來看一下實現代碼:
HTML 代碼: <div class="container"> <img src="原始圖片鏈接" alt="圖片"> <div class="zoomIn"> <img src="放大后的圖片鏈接" alt="放大后的圖片"> </div> </div> CSS 代碼: .container { position: relative; /* 使 zoomIn 定位 relative 時,相對于 container 定位 */ width: auto; height: auto; overflow: hidden; /* 隱藏圖片外溢出 */ display: inline-block; /* 讓容器自動適應圖片寬高 */ } .container img { display: inline-block; width: 100%; } .zoomIn { width: 200px; /* 放大鏡的寬度 */ height: 200px; /* 放大鏡的高度 */ position: absolute; /* 應該是定位 absolute 的好 */ z-index: 999; /* 放大鏡的層級,比圖片更高 */ top: 0; left: 100%; /* 初始時不應顯示,等到鼠標 hover 時再顯示 */ margin-left: 20px; /* 下面是動畫效果 */ transform: scale(.5); /* 初始狀態隱藏 */ transition: all .4s ease-in-out; /* 縮放動畫 */ } .zoomIn img { width: 100%; /* 防止因圖片比容器大而溢出 */ } .container:hover .zoomIn { /* 當鼠標 hover 時,顯示放大鏡,同時圖片縮小 */ left: calc(100% - 220px); /* 讓放大鏡距離圖片邊緣有一定的間隙 */ transform: scale(1); /* 放大鏡放大,圖片縮小 */ }
使用上述代碼,您就可以輕松實現一個簡單的圖片放大鏡效果了。通過 CSS 的控制,可以實現很多更加復雜的效果,比如放大鏡區域的形狀、放大倍數等,讓用戶體驗更加愉悅。
下一篇純css圓點