这里是它的HTML部分:
<nav id="main-navigation">
<ul>
<li><a href="#" target="_self">lorem ipsium lorem ipsium lorem</a></li>
<li><a href="#" target="_self">lorem ipsium lorem lorem</a></li>
<li><a href="#" target="_self">lorem ipsium lorem ipsium lorem</a></li>
<li><a href="#" target="_self">lorem ipsium lorem</a></li>
</ul>
</nav>这里是CSS:
#main-navigation ul li a {
display:block;
font-size: .8em;
background: lime url("http://www.hpp.moh.gov.sg/HPP/MungoBlobs/636/378/bullets_doctors.gif") no-repeat right center;
border-top: 1px dotted #ccc;
color:#000;
padding: 2px 0;
}
#main-navigation ul li a.last {
border-bottom: 1px dotted #ccc;
}
#main-navigation ul li a:hover,
#main-navigation ul li a:focus,
#main-navigation ul li a:active{
background: red url("http://www.hpp.moh.gov.sg/HPP/MungoBlobs/636/378/bullets_doctors.gif") no-repeat right center;
color:#fff
}我不想更改html标记。
如果您在好的浏览器上看到这一点,然后在IE7上看到,您将看到IE7上的LI项在它们之间有很大的空白。
我尝试应用高度:1PX;在上,只在IE相关文件上应用。不走运。
如何才能正确地触发hasLayout,从而使空白bug消失?
发布于 2011-12-04 10:39:23
解决方案:
HTML部件:
<!--[if lt IE 9]>
<link rel="stylesheet" href="badbrowser.css"/>
<![endif]-->CSS badbrowser.css的一部分:
/* Fix for vertical list LI white space - hasLayout trigger */
#main-navigation li a {
display:inline-block;
}
#main-navigation li a {
display:block;
}发布于 2012-06-20 10:13:33
修复方法是在列表项上设置vertical-align: bottom;。
https://stackoverflow.com/questions/8370816
复制相似问题