【问题标题】:Page only shows half of the absolute positioned popup页面仅显示绝对定位弹出窗口的一半
【发布时间】:2013-12-09 20:01:54
【问题描述】:

我有一个页面,它有一些触发弹出窗口的功能。该弹出窗口被定义为包含一些内容的 div。那个 div 有一些 css 让它看起来更合适,还包含position:absolute。

叠加层相对于另一个元素(在页面上触发它的元素,并且该元素可能在页面动态创建时的任何位置)定位,并将弹出窗口的顶部设置为触发元素的底部。

弹出窗口大部分时间都正确显示,但如果触发元素是页面的底部,则只有弹出窗口的顶部可见。并且由于某种原因(可能是因为它是一个绝对定位的元素?)我无法在浏览器中滚动,所以我可以看到其余的内容。

有什么办法可以让弹出窗口“计入”页面的一部分,从而使浏览器内的滚动能够看到所有内容?

【问题讨论】:

  • 考虑动态定位弹出窗口,而不是滚动页面以使其显示:如果底部没有更多空间,则将其显示在顶部(-offSet 而不是 +offSet),反之亦然右窗口边框。

标签: html css css-position


【解决方案1】:

在弹出窗口的调用行末尾尝试.appendTo('body');。

解决滚动问题的另一种方法是使用position:fixed; 而不是position:absolute;

【讨论】:

  • 添加 position:fixed 的行为与问题中描述的行为不同。
猜你喜欢
  • 2017-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
相关资源
最近更新 更多