<style type="text/css">
body {
font-family: Verdana, sans-serif;
margin: 0;
}
* {
box-sizing: border-box;
}
.row>.column {
padding: 0 8px;
}
.row:after {
content: "";
display: table;
clear: both;
}
.column {
float: left;
width: 25%;
}
/* 弹窗背景 */
.modal {
display: none;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: black;
}
/* 弹窗内容 */
.modal-content {
position: relative;
background-color: #fefefe;
margin: auto;
padding: 0;
width: 90%;
max-width: 1200px;
}
/* 关闭按钮 */
.close {
color: white;
position: absolute;
top: 10px;
right: 25px;
font-size: 35px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #999;
text-decoration: none;
cursor: pointer;
}
.mySlides {
display: none;
}
.cursor {
cursor: pointer
}
/* 上一页 & 下一页 按钮 */
.prev,
.next {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
padding: 16px;
margin-top: -50px;
color: white;
font-weight: bold;
font-size: 20px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
user-select: none;
-webkit-user-select: none;
}
/* 定位下一页按钮到右侧 */
.next {
right: 0;
border-radius: 3px 0 0 3px;
}
/* 鼠标移动上去修改背景色为黑色 */
.prev:hover,
.next:hover {
background-color: rgba(0, 0, 0, 0.8);
}
/* 页数(1/3 etc) */
.numbertext {
color: #f2f2f2;
font-size: 12px;
padding: 8px 12px;
position: absolute;
top: 0;
}
img {
margin-bottom: -4px;
}
.caption-container {
text-align: center;
background-color: black;
padding: 2px 16px;
color: white;
}
.demo {
opacity: 0.6;
}
.active,
.demo:hover {
opacity: 1;
}
img.hover-shadow {
transition: 0.3s
}
.hover-shadow:hover {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}
</style>
<!-- 图片改为你的图片地址 -->
<h2 style="text-align:center">Lightbox</h2>
<div class="row">
<div class="column">
<img src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%"
onclick="openModal();currentSlide(1)" class="hover-shadow cursor">
</div>
<div class="column">
<img src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%"
onclick="openModal();currentSlide(2)" class="hover-shadow cursor">
</div>
<div class="column">
<img src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%"
onclick="openModal();currentSlide(3)" class="hover-shadow cursor">
</div>
<div class="column">
<img src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%"
onclick="openModal();currentSlide(4)" class="hover-shadow cursor">
</div>
</div>
<div id="myModal" class="modal">
<span class="close cursor" onclick="closeModal()">×</span>
<div class="modal-content">
<!-- -->
<div class="mySlides">
<div class="numbertext">1 / 4</div>
<img src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">2 / 4</div>
<img src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">3 / 4</div>
<img src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">4 / 4</div>
<img src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%">
</div>
<!-- -->
<a class="prev" onclick="plusSlides(-1)">❮</a>
<a class="next" onclick="plusSlides(1)">❯</a>
<div class="caption-container">
<p id="caption"></p>
</div>
<div class="column">
<img class="demo cursor" src="http://static.runoob.com/images/demo/demo1.jpg" style="width:100%"
onclick="currentSlide(1)" alt="Nature and sunrise">
</div>
<div class="column">
<img class="demo cursor" src="http://static.runoob.com/images/demo/demo2.jpg" style="width:100%"
onclick="currentSlide(2)" alt="Trolltunga, Norway">
</div>
<div class="column">
<img class="demo cursor" src="http://static.runoob.com/images/demo/demo3.jpg" style="width:100%"
onclick="currentSlide(3)" alt="Mountains and fjords">
</div>
<div class="column">
<img class="demo cursor" src="http://static.runoob.com/images/demo/demo4.jpg" style="width:100%"
onclick="currentSlide(4)" alt="Northern Lights">
</div>
</div>
</div>
<script>
//html 要div 嵌套来写
// CSS 先写整体,在写细节
// js可以先写中文流程,在写获取事件效果等
// 可以考虑给一个索引值。或考虑开始,结尾。
// 可以先获取所有的dom。
// 在每个HTML 中可以内联的形式,写事件,列如:onclick="open()"方式,在js中写 function open(){ } 这样的形式。
function openModal() {
document.getElementById('myModal').style.display = 'block';
}
function closeModal() {
document.getElementById('myModal').style.display = 'none';
}
//class = mySlides
var index = 1;
showlide(index);
function plusSlides(n) {
//showlide(index+=n); //index= 1+n; 左边:0 1+-1 = 0 右边:2 1+1 = 2
showlide(index = index + n);
}
function currentSlide(n) {
showlide(index = n);
}
function showlide(n) {
var mySlides = document.getElementsByClassName('mySlides');
if (n > mySlides.length) {
index = 1;
}
if (n < 1) {
index = mySlides.length;
}
for (i = 0; i < mySlides.length; i++) {
mySlides[i].style.display = 'none';
}
mySlides[index - 1].style.display = "block";
}
</script>