这段代码在IE6下不正常,是IE6的bug么?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<style type="text/css">
ul {
width:200px;
LIST-STYLE-TYPE: none;
}
ul li {
float:left;
width:40%;
margin:5px;
background-color:#cccccc;
</style>
</head>
<body>
<ul>
<li><a href="#" target="_blank">111</a></li>
<li><a href="#">中文</a></li>
<li><a href="#" target="_blank">333</a></li>
<li><a href="#" target="_blank">444</a></li>
</ul>
</body>
</html>
以上代码,在IE8 IE9 Firefox Chrome均成正常显示,显示成:
111 中文
333 444
但在IE6下,显示成了:
111 中文
333
444
即在“中文”后面空了一个位置。如果把中文改成 222 ,则又显示正常。
这是怎么回事,如何改? ie6
[解决办法]
加个height好像就可以了
ul li {
float:left;
width:40%;
margin:5px;
background-color:#cccccc;
height:20px;
}
[解决办法]
LZ 的代码有中文,但是没有设置中文的字体,给它设置个字体就行了。
另外在 IE6 下有个经典的 BUG,浮动产生的双倍边距,所以 LI 需要加上 display:inline;
[解决办法]
具体原因我也不清楚,不过一般性都会默认设置字体吧。
[解决办法]
就像div,display:inline;设置 排列在一行