javascript - 使用 Javascript 实现水平子菜单

标签 javascript html css

我正在寻找一些可用于在 Javascript(而非 JQuery)中实现水平子菜单的示例。我想要一个对 SEO 友好的菜单。这是我正在寻找的示例:

opt1     opt2      opt3       opt4
opt1a opt1b opt1c opt1d

opt1     opt2      opt3       opt4
  opt2a opt2b opt2c opt2d

因此,当用户将鼠标悬停在顶层的 opt1 上时,opt1a、opt1b、opt1c 和 opt1d 选项将出现在其下方的第二级菜单中。当用户将鼠标悬停在顶层的 opt2 上时,将显示第二层的 opt2a、opt2b、opt2c 和 opt2d 选项。

有人看过这方面的代码示例吗?我正在考虑的是为二级菜单设置四个不同的 DIV,然后通过某种方式使这些 DIV 在用户悬停在不同的顶层上时可见。这听起来很容易,但我想这并不容易。

最佳答案

制作具有最少跨浏览器麻烦的水平菜单的一个好方法是使用以下模式。关键是为 <LI> 中的内容设置样式而不是 <LI>本身。

<div class="menu">
<ul>
    <li>SOME TITLE</li>
    <li><a href="...">link1</a></li>
    <li><a href="...">2</a></li>
    <li><input type="text" .../></li>
    <li><input type="submit" class="submit" value="Submit"></li>
</ul>
</div>

CSS:

.menu ul, .menu li {
   list-style=type:none;
   padding:0;
   margin:0    
}


.menu li {
    display:inline-block   
}  

.menu a {
     display:block;
    ....other styles....

}

然后嵌套它们:

<div class="menu">
<ul>
    <li>SOME TITLE</li>
    <li><a href="...">link1</a>
        <ul><li><a href="...">sub1</a></li></ul></li>
    <li><a href="...">2</a></li>
    <li><input type="text" .../></li>
    <li><input type="submit" class="submit" value="Submit"></li>
</ul>
</div>

你是对的,然后在 ul li 上使用 position:relative,在 ul ul 上使用 position:absolute 等......你在正确的轨道上,但使用列表,而不是 DIV。

关于javascript - 使用 Javascript 实现水平子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7278798/

相关文章:

CSS重叠帮助

javascript - 如何防止 Knockback.js 创建空关系的 View 模型?

javascript - 如何根据另一个 TD 元素更改 JQuery Datatables TD 元素中的图标?

javascript - 搜索引擎可以索引 JavaScript 生成的网页吗?

javascript - 通过span标签动态包装js字符串,这可能会在React中危险地呈现

jquery - 3行下拉菜单问题

html - CSS:是否存在具有高度值的层次结构?

javascript - 向 highcharts 饼图图例中的列添加标签

用户在矩形内部或外部的Javascript解决方案

javascript - 删除促销代码后最终金额不变