css浮动元素height设置100%,外部元素设置高度则浮动元素有高度,不设置则浮动元素没有高度,这是为什么?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .out {
            background: #ccc;
            border: 5px solid #000;
            overflow: hidden;
            min-height: 400px;
        }
        .div1 {
            float: right;
            height: 100%;
            width: 100px;
            background: red;
        }
        .div2 {
            overflow: hidden;
        }
    </style>
</head>
<body>
    <div class="out">
        <div class="div1"></div>
        <div class="div2">
            <br><br><br><br><br><br><br>
        </div>
    </div>
</body>
</html>

如果把.out 的min-height 改成 height div1 就有高度 这是为什么? 为什么 overflow:hidden 和min-height 不行

阅读 8.5k
2 个回答

div1 是百分比高度是相对于父级out有固定高度属性的,min-height 定义了 最小高度 并不是固定的高度值

height百分比为单位的时候只从父元素处继承高度,所以父元素必须有高度。

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