Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击时使图像全屏显示?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何在单击时使图像全屏显示?

Javascript 如何在单击时使图像全屏显示?,javascript,html,css,Javascript,Html,Css,我正在制作一个图库,我希望每一张照片在点击时都能全屏显示,如下所示: 目前,我在每个图像上都有一个单击处理程序,它向单击的图像添加一个类zoom。我编写的CSS选择器只会放大图像,而不会像示例中那样将其集中在整个页面上。这是我的密码: .gallery img{ 宽度:100%; 身高:100%; 对象匹配:覆盖; 对齐内容:居中对齐; 对象位置:中心; 转换:转换易进易出0.5s; } .zoom{ z指数:1; 转换:比例(1.5); 显示:块; 左边距:自动; 右边距:自动; } 照

我正在制作一个图库,我希望每一张照片在点击时都能全屏显示,如下所示:

目前,我在每个图像上都有一个单击处理程序,它向单击的图像添加一个类
zoom
。我编写的CSS选择器只会放大图像,而不会像示例中那样将其集中在整个页面上。这是我的密码:

.gallery img{
宽度:100%;
身高:100%;
对象匹配:覆盖;
对齐内容:居中对齐;
对象位置:中心;
转换:转换易进易出0.5s;
}
.zoom{
z指数:1;
转换:比例(1.5);
显示:块;
左边距:自动;
右边距:自动;
}

照片库

我建议看看intensejs库:


它的实现既快速又简单,适合您的需要。

我建议您看看intensejs库:


它的实现既快速又简单,符合您的需要。

缩放很难做到这一点-您必须根据当前视口等尺寸进行计算并重新定位图像

另一种方法是使用填充整个视口的元素,该元素具有较高的z索引,但通常不显示。当用户单击一个图像时,它被设置为这个大元素的背景,背景大小包含在内,因此它总是完全适合

在这个片段中,点击放大的图像可以去除它

函数getPics(){}//仅用于此演示
const imgs=document.querySelectorAll('.gallery img');
const fullPage=document.querySelector(“#fullPage”);
imgs.forEach(img=>{
img.addEventListener('click',function(){
fullPage.style.backgroundImage='url('+img.src+');
fullPage.style.display='block';
});
});
#整页{
显示:无;
位置:绝对位置;
z指数:9999;
排名:0;
左:0;
宽度:100vw;
高度:100vh;
背景尺寸:包含;
背景重复:不重复不重复;
背景位置:中心;
背景色:黑色;
}

照片库

使用缩放很难做到这一点-您必须根据当前视口等尺寸进行计算并重新定位图像

另一种方法是使用填充整个视口的元素,该元素具有较高的z索引,但通常不显示。当用户单击一个图像时,它被设置为这个大元素的背景,背景大小包含在内,因此它总是完全适合

在这个片段中,点击放大的图像可以去除它

函数getPics(){}//仅用于此演示
const imgs=document.querySelectorAll('.gallery img');
const fullPage=document.querySelector(“#fullPage”);
imgs.forEach(img=>{
img.addEventListener('click',function(){
fullPage.style.backgroundImage='url('+img.src+');
fullPage.style.display='block';
});
});
#整页{
显示:无;
位置:绝对位置;
z指数:9999;
排名:0;
左:0;
宽度:100vw;
高度:100vh;
背景尺寸:包含;
背景重复:不重复不重复;
背景位置:中心;
背景色:黑色;
}

照片库

请试试这个。这会很有帮助。在网络视图或桌面中重构标题更好吗?CSS也可以用于桌面应用程序。当有人看问题列表时,这将是显而易见的。请试试这个。这会很有帮助。在网络视图或桌面中重构标题更好吗?CSS也可以用于桌面应用程序。当有人看问题列表时,这将是显而易见的。