-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
128 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta name="viewport" content="width=device-width"> | ||
<title>图片模态框</title> | ||
<style> | ||
#myImg { | ||
border-radius: 5px; | ||
cursor: pointer; | ||
transition: 0.3s; | ||
} | ||
|
||
#myImg:hover {opacity: 0.7;} | ||
|
||
/* The Modal (background) */ | ||
.modal { | ||
display: none; /* Hidden by default */ | ||
position: fixed; /* Stay in place */ | ||
z-index: 1; /* Sit on top */ | ||
padding-top: 100px; /* Location of the box */ | ||
left: 0; | ||
top: 0; | ||
width: 100%; /* Full width */ | ||
height: 100%; /* Full height */ | ||
overflow: auto; /* Enable scroll if needed */ | ||
background-color: rgb(0,0,0); /* Fallback color */ | ||
background-color: rgba(0,0,0,0.9); /* Black w/ opacity */ | ||
} | ||
|
||
/* Modal Content (image) */ | ||
.modal-content { | ||
margin: auto; | ||
display: block; | ||
width: 80%; | ||
max-width: 700px; | ||
} | ||
|
||
/* Caption of Modal Image */ | ||
#caption { | ||
margin: auto; | ||
display: block; | ||
width: 80%; | ||
max-width: 700px; | ||
text-align: center; | ||
color: #ccc; | ||
padding: 10px 0; | ||
height: 150px; | ||
} | ||
|
||
/* Add Animation */ | ||
.modal-content, #caption { | ||
animation-name: zoom; | ||
animation-duration: 0.6s; | ||
} | ||
|
||
@-webkit-keyframes zoom { | ||
from {-webkit-transform: scale(0)} | ||
to {-webkit-transform: scale(1)} | ||
} | ||
|
||
@keyframes zoom { | ||
from {transform: scale(0.1)} | ||
to {transform: scale(1)} | ||
} | ||
|
||
/* The Close Button */ | ||
.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; | ||
transform: rotate(360deg); | ||
} | ||
|
||
/* 100% Image Width on Smaller Screens */ | ||
@media only screen and (max-width: 700px){ | ||
.modal-content { | ||
width: 100%; | ||
} | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<h2>图片模态框</h2> | ||
<img id="myImg" src="http://www.runoob.com/wp-content/uploads/2016/04/img_lights.jpg" alt="Northern Lights, Norway" width="300" height="200"> | ||
<!-- The Modal --> | ||
<div id="myModal" class="modal"> | ||
<span class="close">×</span> | ||
<img class="modal-content" id="img01"> | ||
<div id="caption"></div> | ||
</div> | ||
<script> | ||
// 获取模态窗口 | ||
var modal = document.getElementById('myModal'); | ||
|
||
// 获取图片模态框,alt 属性作为图片弹出中文本描述 | ||
var img = document.getElementById('myImg'); | ||
var modalImg = document.getElementById("img01"); | ||
var captionText = document.getElementById("caption"); | ||
|
||
img.onclick = function(){ | ||
modal.style.display = "block"; | ||
modalImg.src = this.src; | ||
modalImg.alt = this.alt; | ||
captionText.innerHTML = this.alt; | ||
} | ||
|
||
// 获取 <span> 元素,设置关闭模态框按钮 | ||
var span = document.getElementsByClassName("close")[0]; | ||
|
||
// 点击 <span> 元素上的 (x), 关闭模态框 | ||
span.onclick = function() { | ||
modal.style.display = "none"; | ||
} | ||
</script> | ||
</body> | ||
</html> |