如何强制子div高度为父div的高度,而不需要指定父元素的高度?
如何强制子div高度为父div的高度,而不需要指定父元素的高度?
我有一个以下结构的网站:
导航在左侧,内容div在右侧。内容div的信息是通过PHP获取的,因此每次不同。
如何使导航垂直调整大小,使其高度与内容div的高度相同,无论加载哪个页面?
admin 更改状态以发布 2023年5月23日
注意: 此答案适用于不支持Flexbox标准的旧版浏览器。对于现代方法,请参见:https://stackoverflow.com/a/23300532/1155721
我建议您查看使用跨浏览器CSS和无Hack技巧实现等高列。
基本上,以兼容浏览器的方式使用CSS进行此操作并不容易(但使用表格很容易),因此最好找到适当的预打包解决方案。
另外,答案取决于您想要100%高度还是等高。通常是等高的。如果是100%高度,答案会略有不同。
针对父级元素:
display: flex;
您应该添加一些前缀,http://css-tricks.com/using-flexbox/。
正如@Adam Garner所指出的,align-items:stretch;并不需要。它的使用也是针对父级元素,而不是子元素。如果您想要定义子元素拉伸,您可以使用align-self。
.parent { background: red; padding: 10px; display:flex; } .other-child { width: 100px; background: yellow; height: 150px; padding: .5rem; } .child { width: 100px; background: blue; }
Only used for stretching the parent