如何强制子div高度为父div的高度,而不需要指定父元素的高度?

10 浏览
0 Comments

如何强制子div高度为父div的高度,而不需要指定父元素的高度?

我有一个以下结构的网站:


导航在左侧,内容div在右侧。内容div的信息是通过PHP获取的,因此每次不同。

如何使导航垂直调整大小,使其高度与内容div的高度相同,无论加载哪个页面?

admin 更改状态以发布 2023年5月23日
0
0 Comments

注意: 此答案适用于不支持Flexbox标准的旧版浏览器。对于现代方法,请参见:https://stackoverflow.com/a/23300532/1155721


我建议您查看使用跨浏览器CSS和无Hack技巧实现等高列

基本上,以兼容浏览器的方式使用CSS进行此操作并不容易(但使用表格很容易),因此最好找到适当的预打包解决方案。

另外,答案取决于您想要100%高度还是等高。通常是等高的。如果是100%高度,答案会略有不同。

0
0 Comments

针对父级元素:

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

0