我想在一张图片上弄一个点击图片弹出一个框但是小屏幕和大屏幕的偏移不一样
在实现点击图片弹出一个框时,可以使用CSS中的绝对定位(position: absolute)来实现框的位置调整。根据不同屏幕大小,可以使用媒体查询(media query)来设置不同的偏移量。
首先,创建一个HTML结构,包含一个图片和一个弹出框:
<div class="container">
<img src="your-image.jpg" alt="Image" id="image">
<div class="popup" id="popup">
<!-- 弹出框内容 -->
</div>
</div>
接下来,使用CSS来样式化图片和弹出框,并设置初始状态为隐藏:
.container {
position: relative;
}
#image {
width: 100%;
max-width: 500px;
height: auto;
}
.popup {
position: absolute;
top: 0;
left: 0;
display: none;
/* 弹出框样式 */
}
然后,使用JavaScript来实现点击图片弹出框的功能:
// 获取图片和弹出框元素
const image = document.getElementById('image');
const popup = document.getElementById('popup');
// 监听图片的点击事件
image.addEventListener('click', function() {
// 显示弹出框
popup.style.display = 'block';
});
// 监听窗口大小变化事件
window.addEventListener('resize', function() {
// 根据窗口大小调整弹出框的位置
const offset = image.getBoundingClientRect();
popup.style.top = offset.top + 'px';
popup.style.left = offset.left + 'px';
});
在窗口大小变化时,通过getBoundingClientRect()方法获取图片在视口中的位置信息,然后根据这些位置信息来设置弹出框的位置,实现不同屏幕大小下的偏移调整
原文地址: https://www.cveoy.top/t/topic/h2Wo 著作权归作者所有。请勿转载和采集!