1

此菜单在 webkit 浏览器(Chrome 和 Safari)中完美运行,但我无法让下拉菜单在 Firefox 或 IE 中浮动,有人可以解释一下吗?坚持了几个小时

http://jsfiddle.net/ERsrf/3/

<ul>
    <li><a>Large</a></li>
    <li><a>Large</a></li>
    <li>
        <a>Extra Large</a>
        <ul class="dropdown">
            <li><a>This seems</a></li>
            <li><a>To break in</a></li>
            <li><a>Firefox/IE</a></li>
        </ul>
    </li>
    <li><a>Extra Extra Large</a></li>
</ul>
ul {
    padding: 0;
    margin: 0;
    display: table;
    width: 100%;
}
li {
    cursor: pointer;
    list-style: none;
    display: table-cell;
    text-align: center;
    border: 1px solid black;
    max-width: 160px;
    min-width: 100px;
    position:relative;
}
a {
    background: beige;
    display: inline-block;
    width: 100%;
}
ul.dropdown {
    display: none;
    position: absolute;
    top: 18px;
    left: 0;
}
ul.dropdown li {
    cursor: pointer;
    display: inline-block;
    float: left;
}
ul li:hover > ul.dropdown {
    display: block;
}
ul.dropdown li:hover a {
    background: whiteSmoke;
}
4

1 回答 1

3

编辑:我已经更改了工作示例以在 CSS 选择器上使用较低的特异性
这是一个工作示例:http:
//jsfiddle.net/Volker_E/kFTnG/4/

您的方法的几点:

  • Fx & IE 放在.dropdown li一行的原因是display: inline-block; float: left;属性
  • 给你的父母<li> display: table-cell几乎总能做到——除了非常小的视口——160px 宽度
  • display: block;float父声明一起<li>对于相对定位的后代元素更好
于 2013-05-17T20:59:30.130 回答