javascript - 下拉相对定位问题

标签 javascript css drop-down-menu css-position

我有 3 个按钮,每个按钮都会触发自己的下拉内容 div。我需要下拉列表来跨越页面的整个宽度。我知道我可以将下拉菜单的位置更改为 :absolute 以实现全宽,但这会导致问题,因为它会将自身定位在页脚上方而不是将其向下推。

这可能是我的 css 中缺少的一些基本内容,但我花了几个小时尝试调试它,但我没有运气。

我在评论里设置了codepen

如有任何帮助,我们将不胜感激。

最佳答案

如果你想让它在不使用 position: absolute 的情况下工作,你将不得不稍微更改 html 标记。

您必须将所有 .toggleContent div 移出 li,因为当您尝试将它们填满时宽度 它们受 li 宽度的限制(您在示例中使用的是 100%)。您可以将 div 移动到任何您喜欢的地方。

现在您还必须更改 jQuery 事件,因为它们依赖于标记才能工作。您只需更改前几行即可使用:

$("button.expand").click(function(e){
     e.preventDefault();
     $(this).toggleClass("active");
     $('.toggleContent').slideToggle('slow');
     return false;
});

这是全部完成后的样子:example .

关于javascript - 下拉相对定位问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35640207/

相关文章:

javascript - 如何通过 JavaScript 创建一个新的 HTML 复选框?

javascript - 这个语法是什么: []._

asp.net - asp.net 中下拉列表的酷样式?

javascript - jquery mobile 控制组之间的空格

javascript - 如何为 YouTube 视频添加启动画面/占位符图像

html - 当侧边栏中的文本太多时,屏幕会分开

html - 如何水平居中元素?

html - 表格单元格的多色边框

php - 如何通过带有嵌套集模型的 php <ul> <li> 标签自动创建菜单

css - 样式子菜单 CSS