方法-タブギャラリー
CSSとJavaScriptを使用してタブ付きの画像ギャラリーを作成する方法を学びます。
タブギャラリー
画像をクリックして展開します。
自然
タブギャラリーを作成する
ステップ1)HTMLを追加します。
例
<!-- The grid: four columns -->
<div class="row">
<div
class="column">
<img src="img_nature.jpg" alt="Nature"
onclick="myFunction(this);">
</div>
<div class="column">
<img src="img_snow.jpg" alt="Snow" onclick="myFunction(this);">
</div>
<div class="column">
<img src="img_mountains.jpg"
alt="Mountains" onclick="myFunction(this);">
</div>
<div class="column">
<img src="img_lights.jpg"
alt="Lights" onclick="myFunction(this);">
</div>
</div>
<!-- The expanding
image container -->
<div class="container">
<!-- Close the
image -->
<span onclick="this.parentElement.style.display='none'"
class="closebtn">×</span>
<!-- Expanded image -->
<img id="expandedImg" style="width:100%">
<!-- Image text -->
<div id="imgtext"></div>
</div>
画像を使用して特定の画像を展開します。列の内側でクリックされた画像は、列の下のコンテナに表示されます。
ステップ2)CSSを追加します。
4つの列を作成し、画像のスタイルを設定します。
例
/* The grid: Four equal columns that floats next to each other */
.column {
float: left;
width: 25%;
padding:
10px;
}
/* Style the
images inside the grid */
.column img {
opacity: 0.8;
cursor: pointer;
}
.column img:hover {
opacity: 1;
}
/* Clear
floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
/* The expanding image
container (positioning is needed to position the close button and the text) */
.container {
position: relative;
display: none;
}
/* Expanding image text */
#imgtext {
position: absolute;
bottom: 15px;
left: 15px;
color:
white;
font-size: 20px;
}
/* Closable button inside the image */
.closebtn
{
position: absolute;
top: 10px;
right: 15px;
color: white;
font-size: 35px;
cursor: pointer;
}
ステップ3)JavaScriptを追加します。
例
function myFunction(imgs) {
// Get the expanded image
var
expandImg = document.getElementById("expandedImg");
// Get the image
text
var imgText = document.getElementById("imgtext");
//
Use the same src in the expanded image as the image being clicked on from the
grid
expandImg.src = imgs.src;
// Use the value of the alt
attribute of the clickable image as text inside the expanded image
imgText.innerHTML = imgs.alt;
// Show the container element (hidden with
CSS)
expandImg.parentElement.style.display = "block";
}