html - 如何将垂直菜单定位为水平父 <li> 下的嵌套 <ul>

标签 html css html-lists

我们真的很接近解决这个问题,只需要一点帮助来解决问题。一切正常,但我们如何让嵌套的“ul”相对于其父“li”(即直接在父 li 下方)显示?

这是 HTML:

<ul id="continent">
        <li><a href="#">Europe</a>
            <ul>
            <li><a href="#">CountryA</a></li>
            <li><a href="#">CountryB</a></li>
            <li><a href="#">CountryC</a></li>
            </ul>
        </li>
        <li><a href="#">Middle East</a>
            <ul>
            <li><a href="#">CountryD</a></li>
            <li><a href="#">CountryE</a></li>
            <li><a href="#">CountryF</a></li>
            </ul>
        </li>
        <li><a href="#">Africa</a>
            <ul>
            <li><a href="#">CountryG</a></li>
            <li><a href="#">CountryH</a></li>
            <li><a href="#">CountryI</a></li>
            </ul>
        </li>
        <li><a href="#">Asia</a>
            <ul>
            <li><a href="#">CountryJ</a></li>
            <li><a href="#">CountryK</a></li>
            <li><a href="#">CountryL</a></li>
            </ul>
        </li>
</ul>

这里是 CSS:

ul#continent{position:relative;}
ul#continent li{display:inline; list-style-type:none;}

ul#continent li ul{display:none;}
ul#continent li:hover {cursor:pointer;}
ul#continent li:hover ul{display:block; position:absolute; top:52px; margin:-20px 0 0 -10px; padding:20px; width:160px; z-index:999;}
ul#continent li:hover ul li{display:block; padding:3px 10px;}

在此先感谢您的帮助!

最佳答案

使用 float:left;float:none; 代替 display:inline;。而不是玩 marginpadding

ul#continent li{float:left; list-style-type:none;}
ul#continent li:hover ul li{float:none; padding:3px 10px;}

DEMO

在演示 2 中,您会看到它带有一些 background-colorwidth & heightmargintext-align 更改 css 的外观。

DEMO 2

关于html - 如何将垂直菜单定位为水平父 <li> 下的嵌套 <ul>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20350236/

相关文章:

html - 如何将 <li> 置于灵活的结构中?

css - 如何修复 <ul> 在 ie8 到 ie 9 中中断的页脚,但在 ie7、FF、Safari 和 Chrome 中是完美的

jquery - 从 HTML 表格复制到剪贴板的用户选择引入了 Tabs

java - Selenium div 属性不断变化,我怎样才能找到这个元素?

JQuery Double 每个函数

html - 在 bootstrap 中有 <hr>,除了垂直分隔线还有类似的东西吗?

html - 将 div 放在 <li> 和 <a> 之上,但不要移动它们的位置

html - 用于 div 类复合文本的 Selenium Webdriver 定位器

javascript - 无法连续登录到我的本地文件!帮忙,有人吗?

css - 如何在div中制作图像中心?