CSS:当我取溢出:隐藏时,为什么会出现这种情况?

CSS:当我取溢出:隐藏时,为什么会出现这种情况?,css,overflow,Css,Overflow,所以在类nav中,当我有overflow:hidden时,它有中心,效果很好,但是我不能使用overflow:hidden,因为它会隐藏我在导航中的下拉列表 但是当我把它拿出来的时候,它就坏了?除了溢出,我还能使用什么:隐藏以保持其外观正确,而不是隐藏我的导航 只需设置.nav的高度(35px?)并移除溢出:隐藏其原因超视距隐藏清除所有浮标,并为元素提供浮标li的高度。解决办法是: 本声明: .nav:after{clear:both;display:block;visibility:hidde

所以在类nav中,当我有overflow:hidden时,它有中心,效果很好,但是我不能使用overflow:hidden,因为它会隐藏我在导航中的下拉列表

但是当我把它拿出来的时候,它就坏了?除了溢出,我还能使用什么:隐藏以保持其外观正确,而不是隐藏我的导航


只需设置
.nav
的高度(35px?)并移除
溢出:隐藏

其原因超视距隐藏清除所有浮标,并为元素提供浮标li的高度。解决办法是:

本声明:

.nav:after{clear:both;display:block;visibility:hidden;overflow:hidden;height:0 !important;line-height:0;font-size:xx-large;content:" x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";}

在lis后添加不可见元素并清除它们。它取自著名的oocss媒体元素:

Try overflow:auto;-这将清除与溢出类似的浮动:隐藏;但是如果你不小心的话,可能会引入滚动条。或者,您可以尝试一种“全部浮动”的方法:另一个浮动元素中的浮动元素也会强制浮动清除

您可以使用这种类型的东西

HTML:

<ul class="menu">
    <li><a href="#">Testing</a></li>
    <li><a href="#">Testing</a>
        <ul class="submenu">
            <li><a href="#">Testing</a></li>
            <li><a href="#">Testing</a></li>
            <li><a href="#">Testing</a></li>
            <li><a href="#">Testing</a></li>
        </ul>
    </li>
    <li><a href="#">Testing</a></li>
    <li><a href="#">Testing</a></li>
</ul>
.menu li {
    display: inline-block;
}

.menu li a {
    color: #fff;
    background: orangered;
    text-decoration: none;
    padding: 0.5em;
    border-bottom: 5px solid #000;
}

.menu li .submenu {
    display: none;
}

.menu li:hover > .submenu {
    display: block;
    position: absolute;
    top: 30px;
}

.menu li .submenu li {
    display: block;
    margin-top: 20px;
}

这是

这个黑客有什么缺点吗?