zoukankan      html  css  js  c++  java
  • 清除浮动的四种方法

    首先,如果父盒子我们写页面的时候没有给固定高度,它的高度就是子盒子内容的高度。
    但是我们如果将子盒子浮动后,那么父盒子就没有高度了。所以,我们清除浮动,是清除浮动带来的影响。并不是清除浮动。

    作为一个有节操的程序员,我们平时使用的是第四种更多!
    方案四:使用before和after双伪元素清除浮动,给父元素加一个类.clearfix

      .clearfix:after,
      .clearfix:before {
        content: "";
        display: table;
      }
    
      .clearfix:after {
        clear: both;
      }
    
      .clearfix {
        *zoom: 1;
      }
    

    本文一共介绍了4种方式清除浮动。效果如下:

    代码如下:

    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <style>
      .demo {
         100px;
        border: 1px solid #000;
      }
    
      .pink {
         50px;
        height: 50px;
        background-color: pink;
        float: left;
      }
    
      .skyblue {
         60px;
        height: 60px;
        background-color: skyblue;
        float: left;
      }
    
      /* 解决方案一 额外标签法*/
      .demo1 {
         100px;
        border: 1px solid #000;
      }
    
      .pink1 {
         50px;
        height: 50px;
        background-color: pink;
        float: left;
      }
    
      .skyblue1 {
         60px;
        height: 60px;
        background-color: skyblue;
        float: left;
      }
    
      .clear {
        clear: both;
      }
    
      /* 解决方案二 父元素添加overflow:hidden*/
      .demo2 {
         100px;
        border: 1px solid #000;
        overflow: hidden;
      }
    
      .pink2 {
         50px;
        height: 50px;
        background-color: pink;
        float: left;
      }
    
      .skyblue2 {
         60px;
        height: 60px;
        background-color: skyblue;
        float: left;
      }
    
      /* 解决方案三 使用after伪元素清除浮动*/
      .demo3 {
         100px;
        border: 1px solid #000;
      }
    
      .clearfix:after {
        /*伪元素是行内元素 正常浏览器清除浮动方法*/
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
      }
    
      .clearfix {
        *zoom: 1;
        /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
      }
    
      .pink3 {
         50px;
        height: 50px;
        background-color: pink;
        float: left;
      }
    
      .skyblue3 {
         60px;
        height: 60px;
        background-color: skyblue;
        float: left;
      }
    
      /* 解决方案四 使用before和after双伪元素清除浮动*/
      .demo4 {
         100px;
        border: 1px solid #000;
      }
    
      .clearfix:after,
      .clearfix:before {
        content: "";
        display: table;
      }
    
      .clearfix:after {
        clear: both;
      }
    
      .clearfix {
        *zoom: 1;
      }
    
      .pink4 {
         50px;
        height: 50px;
        background-color: pink;
        float: left;
      }
    
      .skyblue4 {
         60px;
        height: 60px;
        background-color: skyblue;
        float: left;
      }
    </style>
    
    <body>
      <p>
        首先,如果父盒子我们写页面的时候没有给固定高度,它的高度就是子盒子内容的高度。</p>
      <p>
        但是我们如果将子盒子浮动后,那么父盒子就没有高度了。所以,我们清除浮动,是清除浮动带来的影响。并不是清除浮动。
      </p>
      <div class="demo">
        <div class="pink"></div>
        <div class="skyblue"></div>
      </div>
      <br><br><br>
      <p>方案一:额外标签法</p>
      <div class="demo1">
        <div class="pink1"></div>
        <div class="skyblue1"></div>
        <div class="clear"></div>
      </div>
      <p>方案二:父元素添加overflow:hidden</p>
      <div class="demo2">
        <div class="pink2"></div>
        <div class="skyblue2"></div>
      </div>
    
      <p>方案三:使用after伪元素清除浮动</p>
      <div class="demo3 clearfix">
        <div class="pink3"></div>
        <div class="skyblue3"></div>
      </div>
    
      <p>方案四:使用before和after双伪元素清除浮动</p>
      <div class="demo4 clearfix">
        <div class="pink4"></div>
        <div class="skyblue4"></div>
      </div>
    </body>
    
    </html>
    
  • 相关阅读:
    Java实现数字密码发生器
    Java实现夺冠概率模拟
    Java实现夺冠概率模拟
    Java实现夺冠概率模拟
    java 消息机制 ActiveMQ入门实例
    关于Java String 类型转换时null的问题(转)
    实现quartz定时器及quartz定时器原理介绍(转)
    spring 定时任务的 执行时间设置规则
    Spring与Quartz的整合实现定时任务调度(转)
    python开源项目及示例代码(转)
  • 原文地址:https://www.cnblogs.com/Bianco/p/13566134.html
Copyright © 2011-2022 走看看