沃梦达 / IT编程 / 前端开发 / 正文

CSS清除浮动方法小结

好的。CSS清除浮动方法是为解决浮动元素造成的布局混乱而设定的。接下来我会详细讲解这个主题,包含清除浮动的原理、清除浮动的方法、以及两个示例说明。

好的。CSS清除浮动方法是为解决浮动元素造成的布局混乱而设定的。接下来我会详细讲解这个主题,包含清除浮动的原理、清除浮动的方法、以及两个示例说明。

清除浮动的原理

在HTML中,使用浮动元素可以实现页面的多列布局、文字环绕图片等效果,但是当浮动元素脱离文档流后,可能会对后续元素造成影响,导致页面布局出现问题。这时候清除浮动就可以解决问题。

清除浮动的原理是让包含浮动元素的盒子元素,适应浮动元素的高度,并让该盒子元素的高度自动撑开。

清除浮动的方法

1、使用伪元素清除浮动(clearfix)

.clearfix::after {
  content:"";
  display:table;
  clear:both;
}
/* 例子 */
<div class="parent clearfix">
  <div class="float-left">浮动元素1</div>
  <div class="float-left">浮动元素2</div>
</div>

2、使用overflow属性清除浮动

.parent {
  overflow: auto;
}
/* 例子 */
<div class="parent">
  <div class="float-left">浮动元素1</div>
  <div class="float-left">浮动元素2</div>
</div>

示例说明

例1:使用clearfix清除浮动

<!DOCTYPE html>
<html>
<head>
  <style>
    .clearfix::after {
      content: "";
      display: table;
      clear: both;
    }
    .container {
      border: 1px solid black;
    }
    .float-left {
      float: left;
      width: 30%;
      margin-right: 10px;
      background-color: #eee;
      height: 100px;
    }
  </style>
</head>
<body>
  <h2>使用clearfix清除浮动</h2>
  <div class="container clearfix">
    <div class="float-left">浮动元素1</div>
    <div class="float-left">浮动元素2</div>
    <div>非浮动元素</div>
  </div>
</body>
</html>

例2:使用overflow属性清除浮动

<!DOCTYPE html>
<html>
<head>
  <style>
    .container {
      border: 1px solid black;
      overflow: auto;
    }
    .float-left {
      float: left;
      width: 30%;
      margin-right: 10px;
      background-color: #eee;
      height: 100px;
    }
  </style>
</head>
<body>
  <h2>使用overflow属性清除浮动</h2>
  <div class="container">
    <div class="float-left">浮动元素1</div>
    <div class="float-left">浮动元素2</div>
    <div>非浮动元素</div>
  </div>
</body>
</html>

以上两个示例中,都包含了浮动元素和非浮动元素,在类名为container的盒子元素中,使用了clearfix和overflow属性对浮动元素进行清除。通过比较可以看出两种清除浮动的方式的效果是相同的。

本文标题为:CSS清除浮动方法小结