效果
html
<div id="outerdiv">
<div id="innerdiv">
<img id="bigimg" src="" />
</div>
</div>
css
#outerdiv {
position:fixed;
top:0;
left:0;
background:rgba(0,0,0,0.7);
z-index:999;
width:100%;
height:100%;
display:none;
}
#innerdiv {
position:absolute;
left: calc(50% - 128px);
top: calc(50% - 128px)
}
#bigimg {
border:5px solid #fff;
}
js(需要先引入jquery)
$(".pimg").click(function(){
var src = $(this).attr("src");
$('#bigimg').attr("src", src);
$("img").attr("src", src).load(function(){
var windowW = $(window).width();
var windowH = $(window).height();
var realWidth = this.width;
var realHeight = this.height;
var scale = 0.8;
var imgWidth = realWidth;
var imgHeight = realHeight;
if (realWidth > windowW * scale) {
imgWidth = windowW * scale;
mgHeight = imgWidth / realWidth * realHeight;
if (imgHeight > windowH * scale) {
imgHeight = windowH * scale;
imgWidth = imgHeight / realHeight * realWidth;
}
}
if (realHeight > windowH * scale) {
imgHeight = windowH * scale;
imgWidth = imgHeight / realHeight * realWidth;
if (imgWidth > windowW * scale) {
imgWidth = windowW * scale;
mgHeight = imgWidth / realWidth * realHeight;
}
}
$('#bigimg').css("width",imgWidth);
var w = (windowW - imgWidth) / 2;
var h = (windowH - imgHeight) / 2;
$('#innerdiv').css({"top":h, "left":w});
$('#outerdiv').fadeIn("fast");
});
$('#outerdiv').click(function(){
$(this).fadeOut("fast");
});
});