码迷,mamicode.com
首页 > Web开发 > 详细

转载网页博客:ie7bug:div容器下的img与div存在间隙

时间:2014-10-18 22:14:58      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   sp   div   on   

1、代码及在浏览器上的显示

ie7:

bubuko.com,布布扣

ie8+:

bubuko.com,布布扣

Firefox:

bubuko.com,布布扣

Chrome:

bubuko.com,布布扣

可以看出ie7上在div容器下添加img,div与img中有间隙,而在ie8+和其他浏览器上均显示正常

网页源代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title>ie7 bug: img and div</title>
        <style type="text/css">
            *{
                margin:0;
                padding:0;
            }
            body>div{
                margin:50px auto;
                width:800px;
            }
            div.div0{
                float:left;
                margin:10px 20px;
                width:90px;
                border:2px solid #ff0000;
            }
            div.div1{
                float:left;
                margin:10px 20px;
                width:8px;
                border:2px solid #ff0000;
            }
            div.div2{
                float:left;
                margin:10px 20px;
                width:90px;
                border:2px solid #ff0000;
            }
            div.div3{
                float:left;
                margin:10px 20px;
                width:10px;
                border:2px solid #ff0000;
            }
            div.div4{
                float:left;
                margin:10px 20px;
                width:10px;
                border:2px solid #ff0000;
            }
            img{
                float:left;
            }
        </style>
    </head>
    <body>
        <div>
            <div class="div0">
                <img src="login_on.gif">
            </div>
            <div class="div1">
                <img src="led.png">
            </div>
            <div class="div2">
                <img src="login_on.gif">
                <img src="logout.png">
            </div>
            <div class="div3">
                <img src="led.png">
                <img src="reset.png">
            </div>
            <div class="div4">
                <img src="actLink.png">
                <img src="reset.png">
            </div>
        </div>
    </body>
</html>

2、解决问题

解决这个bug有多种方法:

1) 在子标签内加入css hack,*margin-bottom:-4px;

此方法不够完美,只适合图片的高度比较大的情况,可以看到下图中,利用此种方法只有第一个和第三个适合,其他的img与div的上部有间隙。

bubuko.com,布布扣

2) 给img加样式display:block; 将图片转为块级元素

如下图,img{display:block;}

bubuko.com,布布扣

3)设置图片的垂直对齐方式

如下图,img{vertical-align:top;}

bubuko.com,布布扣

4) 设置父对象的字体大小为0px

如下图,body>div>div{font-size:0;}

bubuko.com,布布扣

5) 设置图片的浮动属性

如下图,img{float:left;} or img{float:right;}

bubuko.com,布布扣

转载网页博客:ie7bug:div容器下的img与div存在间隙

标签:style   blog   http   color   io   ar   sp   div   on   

原文地址:http://www.cnblogs.com/huanghongxia/p/4033674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!