<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.maskContainer{
width:100%;
height:100%;
position:fixed;
left:0;
top:0;
z-index:11111111111111;
background:rgba(0,0,0,0.75);
}
.maskImage{
position:absolute;
left:0;right:0;top:0;bottom:0;
width:730px;
height:390px;
margin:auto;
}
.maskImage>span{
position:absolute;
right:0;
top:0;
width:45px;
height:40px;
cursor:pointer;
border:1px solid red;
}
</style>
</head>
<body>
<div class="maskContainer">
<div class="maskImage">
<span title='关闭'></span>
<a href="http://www.baidu.com" title="进入报名网址">
<img src="<?php echo $this->getSkinUrl('images/maskImg.jpg')?>" width='730' height='390' alt='婚礼购' />
</a>
</div>
</div>
</body>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
jQuery('.maskImage span').click(function(){
jQuery('.maskContainer').hide('slow');
return false;
});
});
</script>
</html>
这个不是块级元素的问题,因为position:absolute;已经把span变成块级元素了,IE下也如此。问题就是当这个块级元素是透明的时候在IE8及以下无法触发各种事件,这应该是个bug,这里是解决办法
不是bug,因为span是行内元素,如果span里面没有东西的话,他的盒子撑不开的,没有撑开就盒子也就没法捕获事件了,要么span里面添加内容,要没给span添加display:block;变成块元素,然后设置宽高!