布局题

1、父元素里有两个子元素,要求,A元素高度固定为100px,B元素填满剩下的区域。请写出相应的css。(高度自适应的问题!!)

<div class="container">
        <div class="A">
        </div>
        <div class="B">
        </div>
</div>

答:

方法一


body, html {
  height: 100%;
  width: 100%;
}
		    
.container {
  width: inherit;
  height: inherit;
  background: #EEE;

  position: relative;

}

.A {
  background: #BBE8F2;

  height: 100px;
}

.B {
  background: #D9C666;

  position: absolute;
  top: 100px;  //把上面的位置腾出来
  // 其他部分填满
  bottom: 0;   
  left: 0;
  right: 0;
}

补充知识点

当absolute之后,没有为元素设置width和height的时候,设置top、bottom、left、right会影响元素的大小哦

子元素width = 父元素width - left - right;
子元素height = 父元素height - top - bottom;

总结

高度自适应的问题,absolute的top、bottom、left、right可以帮你解决。
原理就是,absolute的top、bottom、left、right和width、height的奇妙关系~

方法二

.A {
  background: #BBE8F2;

  height: 100px;
}

.B {
  background: #D9C666;
  height: calc(100% - 100px); // 注意:100px和-之间要有空格,不然会被解析成负号,而没有运算符号和不生效。
}


posted @   Sameen  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示