HTML:
<ul id="popular-tags-hidden">
<li id="tag-1"><a class="display-new-tag" href="#">Tag 1<img width="10" height="10" src="http://www.communr.com/images/add-tag.png"></a></li>
<li id="tag-2"><a class="display-new-tag" href="#">Tag 2<img width="10" height="10" src="http://www.communr.com/images/add-tag.png"></a></li>
<li id="tag-3"><a class="display-new-tag" href="#">Tag 3<img width="10" height="10" src="http://www.communr.com/images/add-tag.png"></a></li>
<li id="tag-4"><a class="display-new-tag" href="#">Tag 4<img width="10" height="10" src="http://www.communr.com/images/add-tag.png"></a></li>
<li id="tag-5"><a class="display-new-tag" href="#">Tag 5<img width="10" height="10" src="http://www.communr.com/images/add-tag.png"></a></li>
</ul>
CSS:
ul#popular-tags-hidden li {
float: left;
overflow: hidden;
margin: 3px 6px 3px 0;
}
a.delete-new-tag, a.display-new-tag {
float: left;
background: #e2f2ce;
height: 20px;
padding: 0 5px 0 5px;
margin: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
white-space: nowrap;
display: inline-block;
color: #466840;
}
IE 7结果:
期望的结果:
标签在ul容器的右侧被切断。我已经尝试过研究这个问题,我认为它有填充的东西,但我无法弄明白。适用于IE7以外的所有浏览器。
答案 0 :(得分:5)
解决此问题的一种方法是在float: left
上从display: inline-block
切换到li
。
如果只为IE7执行此操作,那就不那么麻烦了:
ul#popular-tags-hidden li {
float: left;
overflow: hidden;
margin: 3px 6px 3px 0;
/* just for ie7 */
*float: none;
*display: inline;
zoom: 1
}
比较
float: left
(正如您所说):http://jsfiddle.net/cqSUy/
display: inline-block
仅适用于IE7:http://jsfiddle.net/CfXq6/
关于*display: inline; zoom: 1
- Inline block doesn't work in internet explorer 7, 6
简而言之,就是你对IE7的display: inline-block
的说法。