欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

用css畫放大鏡

錢良釵2年前6瀏覽0評論

我們經常會在網站的商品展示頁中看到放大鏡功能的設計,這個功能讓用戶可以更清晰地查看商品的細節,提高用戶的購物體驗。今天,我們就來探討一種利用CSS和HTML實現放大鏡效果的方法。

首先,我們需要在HTML中添加商品圖片和放大鏡框,我們可以使用div標簽來作為放大鏡框的容器,并設置好它的樣式。

<div class="hover-box"><img src="product-img.jpg" alt="商品圖片"><div class="glass"></div></div>

然后,我們需要在CSS中為容器和放大鏡框進行樣式設置,具體方法如下:

/*給容器設置寬度和高度,以及邊框樣式*/
.hover-box{
width: 500px;
height: 500px;
border: 1px solid #ccc;
position: relative;
}
/*設置圖片占滿整個容器*/
.hover-box img{
width: 100%;
height: 100%;
}
/* 設置放大鏡框大小和定位 */
.glass{
width: 200px;
height: 200px;
border: 1px solid #ccc;
position: absolute;
top: 0;
left: 0;
visibility: hidden;
z-index: 999;
}

接下來,我們需要在JS中為容器設置鼠標移動事件,實現放大鏡的功能:

let hoverBox = document.querySelector('.hover-box'),
glass = document.querySelector('.glass'),
img = document.querySelector('img'),
ratio = 2; //設置放大倍數
hoverBox.onmouseenter = function(){
glass.style.visibility = 'visible';
}
hoverBox.onmouseleave = function(){
glass.style.visibility = 'hidden';
}
hoverBox.onmousemove = function(event){
let x = event.clientX - hoverBox.offsetLeft,
y = event.clientY - hoverBox.offsetTop,
glassX = x - glass.offsetWidth / ratio / 2,
glassY = y - glass.offsetHeight / ratio / 2,
maxGlassX = hoverBox.offsetWidth - glass.offsetWidth / ratio,
maxGlassY = hoverBox.offsetHeight - glass.offsetHeight / ratio,
maxImgX = img.offsetWidth - hoverBox.offsetWidth,
maxImgY = img.offsetHeight - hoverBox.offsetHeight;
if(glassX< 0) glassX = 0;
if(glassY< 0) glassY = 0;
if(glassX >maxGlassX) glassX = maxGlassX;
if(glassY >maxGlassY) glassY = maxGlassY;
glass.style.left = glassX + 'px';
glass.style.top = glassY + 'px';
img.style.left = -glassX * ratio + 'px';
img.style.top = -glassY * ratio + 'px';
if(img.offsetLeft< -maxImgX) img.style.left = -maxImgX +'px';
if(img.offsetTop< -maxImgY) img.style.top = -maxImgY + 'px';
}

以上就是實現放大鏡效果的代碼,我們可以根據實際情況進行一些微調和樣式修改。通過這篇文章的學習,相信你也可以輕松實現一個漂亮的放大鏡效果。