如何在 CSS 中防止浮动元素的父元素塌陷?


为了防止浮动元素的父元素塌陷,首先,我们将尝试理解问题的本质。之后,我们将通过一些示例来解决这个问题,例如:

  • 浮动元素的父元素是如何塌陷的?
  • 使用 overflow 属性防止浮动元素的父元素塌陷
  • 使用 height 属性防止浮动元素的父元素塌陷

浮动元素的父元素是如何塌陷的

示例

让我们首先了解浮动元素的父元素是如何塌陷的。以下是一个示例:

<html>
<head>
   <title>Example</title>
   <style>
      div{
         padding: 10px;   
      }
   </style>
</head>
<body>
   <h1>Nested Divs</h1>
   <div style="background-color: orange;">
      <div>One</div> 
      <div>Two</div>
      <div>Three</div>  
   </div>
</body>
</html>       

输出

现在,为子 div 设置 float: left。这将导致父 div 塌陷:

<div style="background-color: orange;">
   <div style="float: left;">One</div> 
   <div style="float: left;">Two</div>
   <div style="float: left;">Three</div>  
</div>

输出

使用 overflow 属性防止浮动元素的父元素塌陷

现在让我们看看如何使用 overflow 属性来防止浮动元素的父元素塌陷。我们将 div 的 overflow 属性设置为 auto 值:

<div style="background-color: orange; overflow: auto">

示例

现在让我们看看完整的示例:

<html>
<head>
   <title>Example</title>
   <style>
      div{
         padding: 10px;   
      }
   </style>
</head>
<body>
   <h1>Nested Divs</h1>
   <div style="background-color: orange; overflow: auto">
      <div style="float: left;">One</div> 
      <div style="float: left;">Two</div>
      <div style="float: left;">Three</div>  
   </div>
</body>
</html>       

输出

使用 height 属性防止浮动元素的父元素塌陷

现在让我们看看如何使用 height 属性来防止浮动元素的父元素塌陷。我们将 div 的 height 属性设置一个值:

<div style="background-color: orange;height: 40px">

示例

现在让我们看看完整的示例:

<html>
<head>
   <title>Example</title>
   <style>
      div{
         padding: 10px;   
      }
   </style>
</head>
<body>
   <h1>Nested Divs</h1>
   <div style="background-color: orange;height: 40px">
      <div style="float: left;">One</div> 
      <div style="float: left;">Two</div>
      <div style="float: left;">Three</div>  
   </div>
</body>
</html>       

输出

更新于:2022年12月6日

155 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告