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

css transfrom 放大鏡

錢多多1年前7瀏覽0評論

CSS transform 是一種很強大的工具,它可以幫助我們實現各種炫酷的效果。在這里我們介紹如何使用 CSS transform 實現放大鏡效果。

html:
<div class="zoom-box">
<img src="img/1.jpg" class="zoom-img">
<div class="zoom-lens"></div>
</div>
css:
.zoom-box {
position: relative;
width: 400px;
height: 400px;
margin: 50px auto;
}
.zoom-box .zoom-lens {
position: absolute;
width: 100px;
height: 100px;
border-radius: 50%;
border: 1px solid #ddd;
background-color: rgba(255, 255, 255, 0.6);
cursor: move;
}
.zoom-box .zoom-img {
width: 100%;
height: 100%;
display: block;
}
.zoom-box .zoom-result {
position: absolute;
width: 200px;
height: 200px;
border: 1px solid #ddd;
background: url("img/1.jpg") no-repeat;
background-size: 800px 800px;
background-position: -200px -200px;
left: 430px;
top: 50px;
}
.js:
$(function() {
var smallImgWidth = $('.zoom-img').width(); // 獲取小圖寬度
var smallImgHeight = $('.zoom-img').height(); // 獲取小圖高度
var bigImgWidth = smallImgWidth * 4; // 大圖寬度是小圖的4倍
var bigImgHeight = smallImgHeight * 4; // 大圖高度是小圖的4倍
var lensWidth = $('.zoom-lens').width();
var lensHeight = $('.zoom-lens').height();
var zoomResultWidth = $('.zoom-result').width();
var zoomResultHeight = $('.zoom-result').height();
// 小圖添加mousemove事件
$('.zoom-img').on('mousemove', function(e) {
var offsetX = e.pageX - $(this).offset().left; // 鼠標相對于小圖的X坐標
var offsetY = e.pageY - $(this).offset().top; // 鼠標相對于小圖的Y坐標
var posX = Math.max(0, Math.min(smallImgWidth - lensWidth, offsetX - lensWidth / 2)); // 計算放大鏡的X坐標
var posY = Math.max(0, Math.min(smallImgHeight - lensHeight, offsetY - lensHeight / 2)); // 計算放大鏡的Y坐標
// 更新放大鏡的位置
$('.zoom-lens').css({
left: posX,
top: posY
});
// 更新目標區域的背景圖片位置
$('.zoom-result').css({
backgroundPositionX: -posX * 2,
backgroundPositionY: -posY * 2
});
});
});

通過上述 HTML 代碼和 CSS 代碼可以實現一個帶放大鏡效果的圖片展示。當用戶鼠標移動到圖片上時,放大鏡跟隨鼠標位置移動,同時目標區域顯示放大后的圖像。