【问题标题】:Positioning in CSS : How to make an absolute-positioned content display outside of its relative-positioned parent?CSS 中的定位:如何使绝对定位的内容显示在其相对定位的父级之外?
【发布时间】:2011-07-29 11:33:50
【问题描述】:

我遇到了一个让我发疯的问题,如果你曾经遇到过,这对你来说应该很容易。

我正在使用下拉菜单。主菜单 div 是相对定位的,因此它按照 html 的编写顺序出现。此菜单包含在点击类别时出现在上方的绝对定位按钮。 就在菜单出现内容之后,在另一个相对定位的 div 中。

问题在于 subnav 按钮被内容 div 隐藏了。 它们不只是出现在它的后面,而是因为超出了菜单 div 而被隐藏了。

我的页面是这样的:

标题(相对)


菜单 - 类别 v 类别 v 类别 v


内容(相对)


所有这些都有一个静态定位的包含父级以用于布局外观。

注意:我当然可以通过在内容 div 中包含菜单来实现它。最大的挑战是我希望它在内容 div 之外,以便菜单可以更大。

希望我已经说清楚了,提前感谢您的回复。 任何帮助将不胜感激。

您好, 杜克

---------------编辑 ----------------

哇。简直不敢相信这很容易。

问题来自溢出:隐藏我写得很自动。删除它,菜单的内容会像魔术一样从 div 中弹出 :) 实际上这很合乎逻辑,我现在明白了 ;)

感谢大家和亨利这么快解决问题。 干杯!

【问题讨论】:

  • 菜单是否设置了overflow: hidden?如果您发布代码会很有帮助。

标签: html css menu position containers


【解决方案1】:

查看您的网站,您确实在菜单上设置了overflow: hidden; @global.css 第 225 行。

摆脱这个,你的菜单应该会出现。

编辑

我想一个简短的解释是为了。 overflow: hidden; 设置基本上会截断任何溢出。也就是说,如果一个容器被设置为overflow: hidden;,任何溢出的内容(在这种情况下是你的越界菜单)都会被剪掉。

overflow 上的文档。

【讨论】:

  • 再次感谢,您从远处发现了问题...我知道溢出工作正常,这完美解决了我的问题:D
  • 告诉我亨利......它总是对你有用吗?由于我的内容现在已经完美定位,我意识到我既不能选择文本也不能点击按钮。好像一个透明的 div 已经结束了这一切......如果不是因为这个,我会写一个更详细的新主题。
【解决方案2】:

如果您发布代码会非常有帮助,但您可以试试这个:将z-index:9999 添加到子菜单项中,看看它是否有效。

【讨论】:

  • 您好,由于两个 div 不在定位包装器中,因此 z-index 没有用处。我努力尝试,但没有任何改变。我尽快发布简化代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 2016-02-29
  • 2013-08-11
相关资源
最近更新 更多