Javascript 将绝对定位元素限制为容器宽度

Javascript 将绝对定位元素限制为容器宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一些绝对定位元素,类似于下拉菜单。它应该在它的“项目”下面,但当窗口变窄时,它并没有足够的空间 我的观点是: -下拉列表的右边缘不应溢出其容器。下拉列表应该有类似于max right:0的内容 -应该是跨浏览器的 -最好避免js,如果不可能的话,js应该尽可能简单和快速。您可以将绝对子对象的宽度设置为100%,并使父对象相对定位 演示: 到目前为止,您尝试了什么?问题是什么?请给我们看一些代码:-)目前我还没有尝试实现它,因为我很想用css实现它,但我不知道如何实现它。当谈到JS唯一的解决方

我有一些绝对定位元素,类似于下拉菜单。它应该在它的“项目”下面,但当窗口变窄时,它并没有足够的空间

我的观点是:

-下拉列表的右边缘不应溢出其容器。下拉列表应该有类似于
max right:0的内容

-应该是跨浏览器的


-最好避免js,如果不可能的话,js应该尽可能简单和快速。

您可以将绝对子对象的
宽度设置为
100%
,并使父对象相对定位

演示:


到目前为止,您尝试了什么?问题是什么?请给我们看一些代码:-)目前我还没有尝试实现它,因为我很想用css实现它,但我不知道如何实现它。当谈到JS唯一的解决方案时,它不应该那么难。如果可能的话,子菜单应该有一些宽度。例如200px但不超过container此键是父级的
位置设置。如果没有它,
100%
宽度将与文档相对。@Kluska000那么它将是
width:100%;最小宽度:200px;最大宽度:100%
width
组件是因为IE7和back在
minwidth
max width
方面存在问题,因此对于那些家伙来说,它将退回到容器的
100%
。另外,我可能不关心IE7,甚至IE8 ps2。我想说的是,子菜单几乎总是比它的
  • 宽,所以这是不正确的IMO@Kluska000如果您的子菜单项比它的
    li
    宽,那么
    100%
    就不是好办法。把它做成
    300%
    什么的。
    li {
        ...
        position: relative;
    }
    .b {
        ...
        width: 100%;
    }