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%;
框就会自动放入。