我无法消除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%;
}
答案 0 :(得分: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中的一个已知问题),但它也会让其他浏览器同时包含子浮动 - (他们没有这样做)
补充说:### Working Example ###
答案 1 :(得分:2)
IE在这里真的不是问题。
实际上你在每个列表项之间都有一个包含“\ n \ t \ 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>
答案 2 :(得分:0)
此外:
<!--[if lte IE 7]>
li {
...
margin-bottom: -3px;
...
}
<![endif]-->