如何在不指定父级宽度的情况下防止子div扩展父级?

时间:2012-08-09 18:00:59

标签: javascript jquery css html

我希望有人能在这个人身上清理掉我脑中的蜘蛛网。我试图在这里说明(系统不允许我发布GIF所以我使用ASCII艺术)

|--------------------------------------------------------------------|
| Browser Window                                                     |
|                                                                    |
| |--------------------------------------------------|               |
| |  Parent DIV                                      |               |
| |                                                  |               |
| |  |-----------------------------------------|     |               |
| |  | Child DIV #1                            |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |-----------------------------------------|     |               |
| |                                                  |               |
| |                                                  |               |
| |  |-----------------------------------------|     |               |
| |  | Child DIV #1                            |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |                                         |     |               |
| |  |-----------------------------------------|     |               |
| |                                                  |               |
| |                                                  |               |
| |--------------------------------------------------|               |
|                                                                    |
|                                                                    |
|                                                                    |
|                                                                    |
|--------------------------------------------------------------------|

我想拥有一个包含2个子DIV的父DIV。子div#1中有一段很长的段落。子DIV#2包含可变宽度内容,它显示在表格中。

我希望父DIV扩展到Child DIV#2的宽度,我希望Child DIV#1只扩展到父DIV的宽度,而不再扩展父DIV。

我将所有3个DIV设置为浮动:左。

如果我只包含子DIV#2,则父DIV会扩展到表的宽度(加上填充等) - 正是我想要的。一旦我包含DIV#1,父DIV就会扩展到浏览器窗口的宽度,因为Child DIV#1也很宽。

我可以约束父DIV的宽度,但是由于子DIV#2的宽度可变,我不想这样做。我可以约束子DIV#1的宽度,但我不想这样做,因为我希望它与子DIV#2的宽度相同,而DIV#2的宽度可变。

我不想限制任何高度,因为每个框中的内容量都是可变的。

是否有其他方法可以获得这些结果?

谢谢,

拉​​尔夫

2 个答案:

答案 0 :(得分:0)

我不完全确定我理解你,但我会尝试从两个内部div中删除float:left。我将父级的宽度设置为auto,子级的宽度设置为100%。这应该允许父级将自己调整为较大的div(子级2),然后让子级1扩展到其容器的大小。我希望这有帮助。此外,如果你可以发布js小提琴,让我看看你有什么,我可能能够帮助更好。

答案 1 :(得分:0)

有趣的问题。在投降js解决方案之前我尝试了很多,但是我能得到这些结果的唯一方法就是做希望我帮助他的回答。

我带着working sample来到这里:

基本上,使用jQuery,您可以编写类似的代码:

$(document).ready(function() {
    $('#div1').css('width', $('#div2').css('width'));
});