html - 显示 2 个并排的下拉列表

标签 html css drop-down-menu

我有两个彼此相邻的下拉菜单,但是当单击第一个下拉菜单时,它会将第二个下拉菜单一起下拉,而不是将其留在顶部。

我不能将 position:absolute 与它们中的任何一个一起使用,因为当下拉菜单处于事件状态时,底部会有需要向下推的内容。

这是我的代码

HTML

<div id="lists">
 <div id="list_one">
 <a>List One</a>
  <ol>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
    <li>Item 8</li>
  </ol>
</div>

<div id="list_two">
 <a>List Two</a>
  <ol>
     <li>Item 1</li>
     <li>Item 2</li>
     <li>Item 3</li>
     <li>Item 4</li>
     <li>Item 5</li>
     <li>Item 6</li>
     <li>Item 7</li>
     <li>Item 8</li>
  </ol>
 </div>
</div>

CSS

#lists {
 border: 2px solid blue;
 position: relative;
 width: 300px;
}

#list_one {
 width: 100px;
 border: 2px solid red;
}

#list_one ol {
 display: none;
}

#list_two {
 width: 100px;
 border: 2px solid green;
 position: relative;
 top: -25px;
 left: 200px;
}

#list_two ol {
 display: none;
}

jQuery

$('#list_one a').click(function(){
 $('#list_one ol').toggle();
});

$('#list_two a').click(function(){
 $('#list_two ol').toggle();
});

jsfiddle:https://jsfiddle.net/e3tctuzp/

最佳答案

将两个列表在容器内左右浮动,然后将容器的显示设置为inline-block。

所以列表的 CSS 是:

#lists {
 border: 2px solid blue;
 position: relative;
 width: 300px;
 display:inline-block
}

#list_one {
 width: 100px;
 border: 2px solid red;
 float:left;
}

#list_two {
 width: 100px;
 border: 2px solid green;
 position: relative;
 float:right;
}

参见jsfiddle

关于html - 显示 2 个并排的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35136579/

相关文章:

javascript - 提交时将 php 字符串发送到 javascript

javascript - 拖放选择元素(谷歌浏览器)

css - 更改 HTML 5 Boilerplate 默认字体大小是否安全?

css - 在 DIV 中使用不同的 CSS 文件?

javascript - 在 featherlight.js 中延迟加载 iFrame

css - 选择子项时,在父项的事件状态下加下划线

css - 我需要将子菜单添加到我的 css 菜单

html - div 类的 CSS 不起作用 - 为什么?

css 背景图片未加载,根本看不到 Firebug 中的属性

jquery - IE、firefox 中的下拉多级悬停问题