ie下的问题 , 当span要填充背景色或者字体才能触发问题, 是一个bug吗?

阿飞i
  • 628
<!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>
回复
阅读 3.8k
2 个回答

不是bug,因为span是行内元素,如果span里面没有东西的话,他的盒子撑不开的,没有撑开就盒子也就没法捕获事件了,要么span里面添加内容,要没给span添加display:block;变成块元素,然后设置宽高!

这个不是块级元素的问题,因为position:absolute;已经把span变成块级元素了,IE下也如此。问题就是当这个块级元素是透明的时候在IE8及以下无法触发各种事件,这应该是个bug,这里是解决办法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏