"ギャラリー"【gallery】は一般的に、芸術作品や写真などを展示する場所を指す言葉です。特に美術館や写真スタジオなどの展示スペースを指すことが多いです。
しかし、ウェブデザインの文脈では、"ギャラリー"は一連の画像や他のメディアコンテンツが表示される領域を指します。これは一般的にグリッド状、スライダー形式、またはカルーセル形式で表示され、訪問者が作品や商品などを見て回ることができます。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
.gallery {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}
.gallery img {
margin: 15px;
max-width: 200px;
height: auto;
cursor: pointer;
}
#myModal {
display: none;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.9);
}
#img01 {
margin: auto;
display: block;
max-width: 80%;
max-height: 80%;
}
.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}
.close:hover,
.close:focus {
color: #bbb;
text-decoration: none;
cursor: pointer;
}
</style>
</head>
<body>
<div class="gallery">
<img class="myImg" src="https://picsum.photos/id/337/400/600" alt="Image 1">
<img class="myImg" src="https://picsum.photos/id/338/400/600" alt="Image 2">
<img class="myImg" src="https://picsum.photos/id/339/400/600" alt="Image 3">
</div>
<div id="myModal" class="modal">
<span class="close">×</span>
<img class="modal-content" id="img01">
</div>
<script>
let modal = document.getElementById('myModal'); // モーダル要素の取得
let imgs = document.getElementsByClassName('myImg'); // 画像要素の取得
let modalImg = document.getElementById("img01"); // モーダル内の画像要素の取得
let span = document.getElementsByClassName("close")[0]; // 閉じるボタン要素の取得
span.onclick = function () {
modal.style.display = "none"; // 閉じるボタンがクリックされたときの処理
}
for (let i = 0; i < imgs.length; i++) {
let img = imgs[i];
img.onclick = function () {
modal.style.display = "block"; // 画像がクリックされたときの処理
modalImg.src = this.src;
}
}
</script>
</body>
</html>