2

我无法消除 IE7 中列表项之间的差距。

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <link type="text/css" rel="stylesheet" href="base.css" />
    </head>
    <body>
        <ul>
            <li>
                <div>row 1.1</div>
                <div>row 1.2</div>
            </li> 
            <li>
                <div>row 2.1</div>
                <div>row 2.2</div>
            </li> 
            <li>
                <div>row 3.1</div>
                <div>row 3.2</div>
            </li> 
        </ul>
    </body>
</html>

CSS:

ul
{
    padding: 0px;
    margin: 0px;    
}

li
{
    list-style-type: none;      
    width: 100%;    
    margin: 0px;
    padding: 0px;   
    border-bottom: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;          
}

li:first-child
{
    border-top: 1px solid black;
}

li div
{
    float: left;
    width: 49.9%;
}
4

3 回答 3

8

li也漂浮

li
{
    list-style-type: none;      
    width: 100%;
    float: left;    
    margin: 0px;
    padding: 0px;   
    border-bottom: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;          
}

这将修复 IE7(这是 IE7 中的一个已知问题),但它也会让其他浏览器同时包含子浮动 - (他们没有这样做)

补充:###工作示例###

于 2011-03-31T10:43:46.527 回答
2

IE真的不是这里的问题。
发生的情况是,您实际上在每个列表项之间都有一个包含“\n\t\t\t”的文本节点,并且由于这些不是牢不可破的空格,IE 将它们解释为一个“”,这就是您所看到的。
大多数情况下,IE 的问题是由于它遵循规范而引起的,而人们……不这样做。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <link type="text/css" rel="stylesheet" href="base.css" />
    </head>
    <body>
        <ul>
            <li>
                <div>row 1.1</div>
                <div>row 1.2</div>
            </li><li>
                <div>row 2.1</div>
                <div>row 2.2</div>
            </li><li>
                <div>row 3.1</div>
                <div>row 3.2</div>
            </li>
        </ul>
    </body>
</html>
于 2012-04-27T13:17:58.390 回答
0

还:

<!--[if lte IE 7]>
li {
...
margin-bottom: -3px;
...
}
<![endif]-->
于 2013-03-06T17:24:53.800 回答