2012-02-20 96 views
1

我有一个div的内容有问题,例如,如果我把一个表格放在一个div里面,并且为这个div设置一个宽度(width:200px !important)它会覆盖那个div。那么如何保持该div内的所有内容?div宽度不起作用?

拨弄例如: http://jsfiddle.net/ebG9N/45/

+0

div宽度不能小于表格宽度,你想要表格调整到200px? – 2012-02-20 08:38:55

+0

哇,真是一团糟:/ – elclanrs 2012-02-20 08:43:37

+0

顺便说一句,所有'!important'部分都是覆盖给定div的别处定义的'width'属性。它没有给予'宽度'更多的权力。 – 2012-02-20 08:46:54

回答

2

您头设置为white-space: nowrap;因此,浏览器是不能打开标头,所以表的宽度会比div容器大。

您可以设置,overflow: hidden;删除溢出的部分或overflow: auto;创建一个滚动条,但没有它们是正确的渲染。

1

尝试在div的css中使用overflow:auto;

0

你不能期望它能以某种方式适合任何你想要的尺寸的div。你可以做的是,至少让浏览器滚动(overflow: scroll)它使用:

div.divano{ 
    width:200px !important; 
    border:2px solid yellow; 
    background:#eaeaea; 
    height:200px; 
    overflow: scroll; 
} 

您也可以使用oveflow: hidden,但它只是隐藏不可见的部分。此外,overflow: scroll,将始终显示滚动条(带或不带裁剪)。您可以使用overflow: auto来指定仅在发生裁剪时滚动内容。

+0

不是解决方案溢出:自动或隐藏或其他..... – mcmwhfy 2012-02-20 08:55:01

2

有两种解决方案。 i)如果你想严格包含表格,那么overflow:auto;就是要走的路。

ii)但是,如果你改变主意,并想WRAP div到表的宽度然后。 display:table;是要走的路。

一般来说,它不好的想法是在明确已知的宽度较小的元素中包含更宽的元素。