Html 将子div与其父div';s宽度

Html 将子div与其父div';s宽度,html,css,cross-browser,parent-child,Html,Css,Cross Browser,Parent Child,我正在寻找一种解决方案,将孩子的div放入父母的宽度 我在这里看到的大多数解决方案都不兼容跨浏览器(例如,显示:表格单元格;在IE中不受支持。解决方案就是不声明宽度:100% 默认值为width:auto,对于块级元素(例如div),它将占用可用的“全部空间”(与width:100%的方式不同) 请参见: 以防万一,我的回答还不清楚:不要在子div上设置width 您可以改为。如果将位置:相对;放在外部元素上,内部元素将根据此元素放置自身。然后,内部元素上的宽度:自动;将与外部元素的宽度相同。在

我正在寻找一种解决方案,将孩子的
div
放入父母的
宽度


我在这里看到的大多数解决方案都不兼容跨浏览器(例如,
显示:表格单元格;
在IE
中不受支持。解决方案就是不声明
宽度:100%

默认值为
width:auto
,对于块级元素(例如
div
),它将占用可用的“全部空间”(与
width:100%
的方式不同)

请参见:

以防万一,我的回答还不清楚:不要在子
div
上设置
width


您可以改为。

如果将
位置:相对;
放在外部元素上,内部元素将根据此元素放置自身。然后,内部元素上的
宽度:自动;
将与外部元素的宽度相同。

在图像中,您将填充放在子元素的外部。情况并非如此。添加填充s表示元素的宽度,因此如果添加填充并为其指定100%的宽度,则其宽度将为100%+填充。为了满足您的需要,您只需向父div添加填充,或向内部div添加边距。因为div是块级元素,它们将自动扩展到父div的宽度。

Yo您甚至不需要在您的子div中使用
width:100%


如果你想使用这个填充空间,那么这里有一些东西:


所有颜色都是背景色。

您可以使用
框大小调整
css属性,它是crossbrowser(ie8+,以及所有真实浏览器)和非常好的解决方案:

#childDiv{
   box-sizing: border-box;
   width: 100%; //or any percentage width you want
   padding: 50px;
}

我想只有一个孩子?是的,我想你是对的。这个图表把我弄糊涂了:(幸运的是,我已经写了“第二部分”这就是我的答案,这里的实际答案。您根本不需要为child声明width属性。作为项目中包含的组件的一部分的样式属性可能正在设置
width
属性并导致问题。在这种情况下,为child div显式设置
width:auto
。如果我得到y我们的权利,就是不要在孩子身上声明宽度。我已经上传了一个新的图像-为糟糕的图表感到抱歉!当然我知道填充的意思;)然后只需删除
width:100%;
框就会自动放入。