min-height和height的疑问?

div1的高度为什么设置min-height后sp1和sp2的高度没有撑起了呢?为什么把div1的min-height改成height后sp1和sp2就撑起来了?min-height不能替代height使用吗?
图片描述
图片描述

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
    #div1{width: 100%;min-height: 50px;background-color: yellow;}
    #sp1{width: 20%;height: 100%;display: inline-block;background-color: blue;}
    #sp2{width: 50%;height: 100%;display: inline-block;background-color: red;}
    </style>
</head>
<body>
<div id="div1">
    <span id="sp1">aaa</span>
    <spanv id="sp2">bbb</span>
</div>
</body>
</html>
阅读 15.4k
7 个回答

min-height表示盒子的最小高度,并不表示盒子的最终高度,站在外部盒子的角度理解是外部最终高度是由盒子的内部元素的高度与当前盒子的最小高度共同决定。
在外部盒子等待内部元素计算出高度时并不知道自己的高度,内部盒子高度相对外部盒子设置高度时也未知外部高度,所以按照自己的内容的情况渲染了,最终的效果就是内部盒子高度与外部无关。

mark下,也有此疑问

min-height就是你设置的这个元素的最小高度,因为在浏览器里容器的大小可能会被其中的内容撑大,设置这个属性后就能保证你的布局正确,因为它最小不会小于你设的那个值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏