IE 7中的无包装问题

时间:2011-06-22 16:46:56

标签: css internet-explorer-7 nowrap

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结果:

IE 7 Issue

期望的结果:

Desired Result

标签在ul容器的右侧被切断。我已经尝试过研究这个问题,我认为它有填充的东西,但我无法弄明白。适用于IE7以外的所有浏览器。

1 个答案:

答案 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的说法。