1

即我有一个div,下面是一个隐藏的div,比上面的div要宽。我想指定里面的 div 具有比上面的 div 更大的宽度的元素。这些元素右侧与上面 div 的右侧对齐,但由于它更宽,因此希望左侧突破。下面的 div 与上面的 div 相比,位于差异层上,因为它仅在单击上面 div 的触发元素时出现。

基本上它是一个下拉列表,其中一些随机元素比上面的图像元素更宽,单击时会丢弃此列表。但我希望下面的列表扩展到离开父 div 的左侧,而不指定确切的位置。因此,元素都是父 div 的子元素,并且与它右对齐,就像 parent。

嗯,希望你能关注。非常感谢任何帮助。提前致谢。

4

2 回答 2

1

负边距似乎是最好的答案。如果有人知道跨浏览器问题,请在此处发布。也许我会但不会在一两个星期内为他们进行测试。

于 2010-02-17T10:44:33.820 回答
0

您可能应该只使用一个选择标签(为了可访问性),即使它看起来不那么花哨。但是,如果您已经设置好了,请尝试这样的事情(并添加您的 javascript 代码以隐藏/显示列表):

#wrapper {
    width: 500px;
}
#select {
    border: 1px solid black;
    width: 180px;
    float: right;
}
#options {
    float: right;
    clear: right;
    text-align: right;
}

<div id="wrapper">
    <div id="select">pick one...</div>
    <div id="options">
        <div class="option">I'm short</div>
        <div class="option">I'm a very very very very very long option</div>
    </div>
</div>

如果您最终使用它,请将选项 div 更改为 ul 标记,将选项 div 更改为 li 标记,或者在语义上更接近您正在构建的内容。在我的示例中,我只是使用 div 来减少 css 的数量。

于 2010-01-26T04:22:12.973 回答