如何使用 HTML、CSS 和 JavaScript 创建图片灯箱画廊?


在当今计算技术时代,视觉媒体在吸引和保持观众注意力方面的影响力不容忽视。网页上展示图片的灯箱画廊是一种有效机制,通过提供用户友好且简单的界面来促进用户交互。为什么不尝试使用此工具并亲自了解它如何提升您网站的性能呢?借助 HTML、CSS 和 JavaScript,可以创建自定义图片灯箱画廊,并轻松集成到网站中。在本篇介绍中,我们将采用增量方法来构建一个基本的图片灯箱画廊,可以根据您的具体需求进行微调。无论您是新手还是经验丰富的 Web 开发人员,本指南都将为您提供开始的基础知识。

图片灯箱画廊

图片灯箱画廊是网站上使用的一项功能,用于以更大的尺寸显示图片,以覆盖层的方式覆盖在网页上,并可以选择在多张图片之间导航。用户通常通过点击缩略图来触发灯箱,然后全尺寸图片就会出现在灯箱中。灯箱通常包括一些控件,例如用于在图片之间导航的箭头、用于退出灯箱的关闭按钮,以及可能显示图片说明的文字。图片灯箱画廊的目的是为用户提供一种简洁、优雅的方式来查看网站上的图片,而无需离开主页面。图片灯箱画廊通常用于显示产品图片、图片库和其他类型的视觉内容。

方法

我们将使用 HTML、CSS 和 JavaScript 创建图片灯箱画廊。HTML 结构分为两个主要部分——画廊和灯箱。画廊部分包含一组显示为缩略图的图片,包裹在“a”标签内,而灯箱部分是一个覆盖页面的容器,用于显示全尺寸图片。CSS 样式化画廊和灯箱。画廊部分设置为 flex 布局,并在容器宽度超出时自动换行。灯箱部分设置为具有深色背景颜色,并将其内容水平和垂直居中。灯箱图片设置为最大宽度和高度为灯箱容器的 90%。关闭按钮具有绝对定位,设置为距离灯箱顶部和右侧 20 像素,字体大小为 30 像素,白色背景颜色。JavaScript 代码在画廊和关闭按钮上设置事件监听器,分别用于打开和关闭灯箱。当点击图片缩略图时,灯箱会显示,并且全尺寸图片会设置为灯箱图片的源。当点击关闭按钮时,灯箱会再次隐藏。

为了理解代码,我们将仔细检查 HTML、CSS 和 JavaScript 代码段。显示组件使用 flexbox 模型以网格形式构建,并且在被点击时,灯箱会显示为一个覆盖整个屏幕的实体。它包含特定的图片和一个关闭按钮,并显示半透明的背景。在用户选择画廊中的图片后,JavaScript 侦听点击事件并在灯箱中显示关联的图片,使用统一资源定位符作为图片标识符。点击关闭按钮会触发另一个点击事件,最终导致灯箱消失并使用户返回画廊。

示例

以下是我们将在此示例中逐步讲解的完整代码:

<!DOCTYPE html>
<html>
<head>
   <style>
      .gallery {
         display: flex;
         flex-wrap: wrap;
         justify-content: center;
      }
      .gallery a {
         display: block;
         margin: 10px;
      }
      .gallery img{
         height: 120px;
         width: 120px;
      }
      .lightbox {
         display: none;
         position: fixed;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background-color: rgba(0, 0, 0, 0.7);
         justify-content: center;
         align-items: center;
      }
      .lightbox img {
         max-width: 90%;
         max-height: 90%;
      }
      .close {
         position: absolute;
         top: 20px;
         right: 20px;
         font-size: 30px;
         background-color: white;
         border: none;
         padding: 10px 15px;
         cursor: pointer;
      }
   </style>
</head>
<body>
   <h4>How to Create Image Lightbox Gallery using HTML CSS and JavaScript?</h4>
   <div class="gallery">
      <a href="image1.jpg">
         <img src="https://picsum.photos/seed/picsum/200/300" alt="Image 1">
      </a>
      <a href="image2.jpg">
         <img src="https://picsum.photos/id/237/200/300" alt="Image 2">
      </a>

   </div>
   <div class="lightbox">
      <img src="">
      <button class="close">X</button>
   </div>
   <script>
      const gallery = document.querySelector('.gallery');
      const lightbox = document.querySelector('.lightbox');
      const close = document.querySelector('.close');
      const lightboxImg = lightbox.querySelector('img');
      gallery.addEventListener('click', function (event) {
         event.preventDefault();
         lightbox.style.display = 'flex';
         lightboxImg.src = event.target.src || event.target.parentNode.href;
      });
      close.addEventListener('click', function () {
         lightbox.style.display = 'none';
      });
   </script>
</body>
</html>

结论

总之,使用 HTML、CSS 和 JavaScript 创建视觉灯箱画廊是一项相对简单的任务,并提供了丰富的个性化选项。通过实施本文中列出的指南,您可以快速创建一个视觉灯箱画廊,以满足您网站的特定需求。HTML、CSS 和 JavaScript 的结合为构建动态、交互式的图片画廊提供了坚实的基础,这将增强您网站的吸引力和可访问性。无论您是新手还是经验丰富的网站设计师,我都希望本指南能为您提供必要的知识和灵感来设计您自己的独特图片灯箱画廊。因此,从今天开始您的旅程,为您的网站增添新的视觉效果吧!

更新于: 2023年4月13日

3K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.