我正在寻找一种解决方案,以使孩子适合div父母的width。
我在这里看到的大多数解决方案都不兼容跨浏览器(例如display: table-cell;IE不支持<=8)。

Answers:
解决的办法是根本不声明 width: 100%。
默认值是width: auto,对于块级元素(例如div),无论如何都会占用可用的“完整空间”(width: 100%与之不同)。
请参阅: http ://jsfiddle.net/U7PhY/2/
以防万一我的答案还不清楚:只是不要width对孩子设置div。
width属性并引起问题。在这种情况下,width: auto为子div明确设置。
在您的图像中,您已将填充物放在孩子的外面。不是这种情况。填充会增加元素的宽度,因此,如果添加填充并为其设置100%的宽度,则其宽度将为100%+填充。为了满足您的需要,您只需要向父div添加填充或向内部div添加边距即可。由于div是块级元素,因此它们将自动扩展到其父级的宽度。
您甚至不需要width: 100%在您的孩子div中: