美文网首页饥人谷技术博客程序员
css清除浮动float的三种方法

css清除浮动float的三种方法

作者: 取个帅气的名字真好 | 来源:发表于2018-02-16 18:27 被阅读39次

一、浮动的定义


使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。

ps:文档流:文档流是文档中可显示对象在排列时所占用的位置

  • 语法
    float常跟属性值left、right、none
    float:none 不使用浮动
    float:left 靠左浮动
    float:right 靠右浮动

二、浮动的用途


可设置文字环绕或使元素宽度由内容填充(类似Inline-block)。使用浮动需要注意的是如果浮动的元素高度比父级容器还高,那么需要设置父级容器的overflow属性为auto,使其自动撑满。


三、浮动用法


分析HTML结构:

  <div class="box">
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
  </div>

分析CSS代码样式:

.box {
      border: 1px solid #ccc;
      background: #fc9;
      color: #fff;
      margin: 50px auto;
      padding: 50px;
    }
    .div1 {
      width: 100px;
      height: 100px;
      background: darkblue;
      float: left;
    }
    .div2 {
      width: 100px;
      height: 100px;
      background: darkgoldenrod;
      float: left;
    }
    .div3 {
      width: 100px;
      height: 100px;
      background: darkgreen;
      float: left;
    }
浮动之后的影响.png
清除浮动

方法一:添加新元素,应用clear:both;

HTML:

  <div class="box">
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
    <div class="clear"></div>
  </div>

CSS:

  .clear {
      clear: both;
      height: 0;
      line-height: 0;
      font-size: 0
    }
效果.png

一切恢复作用啦。

方法二:父级div定义overflow:auto;

HTML:

  <div class="box">
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
  </div>

CSS:

    .box {
      border: 1px solid #ccc;
      background: #fc9;
      color: #fff;
      margin: 50px auto;
      padding: 50px;
      overflow: auto; 
      zoom: 1; /*zoom: 1; 是在处理兼容性问题 */
    }

结果:也是实现了。

方法三:在父级样式添加伪元素:after或者:before(推荐)

HTML:

  <div class="box">
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
  </div>

CSS:

      .box {
      border: 1px solid #ccc;
      background: #fc9;
      color: #fff;
      margin: 50px auto;
      padding: 50px;
    }
    .box:after{
      content: '';
      display: block;
      clear: both;
    }

结果:当然不用说啦


效果.png

相关文章

  • css清除浮动的三种方法

    摘要:css清除浮动float的三种方法总结,为什么要清除浮动?浮动会有哪些影响? 一.先看现象(display:...

  • 1-浮动

    css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? http://blog.csdn.net...

  • Test10

    引用文章: 那些年我们一起清除过的浮动 CSS浮动float详解 Clear Float CSS float浮动的...

  • 一篇文章带你了解CSS clear both清除浮动

    一、前言 CSS clear both清除产生浮动 ,使用了css float浮动会产生css浮动,这个时候就需要...

  • CSS清除浮动_清除float浮动

  • CSS的浮动属性

    CSS浮动和清除浮动 1.浮动float div配合float浮动来做页面的布局,浮动最常用的地方就是用来做布局。...

  • 浮动和清除(闭合)浮动

    CSS之float and clear float 浮动和清除(闭合)浮动 目录 1.背景介绍 2.知识剖析 3....

  • 两列布局(左侧定宽,右侧自适应)

    方法一:float+margin 方法二:float+overflow 利用浮动脱离标准流。注意清除浮动 方法三:...

  • HTML第二课

    CSS控制div样式 1.浮动布局:float 实现两个布局并行显示 2.清除浮动布局 清除本块布局被覆盖的float

  • 浮动

    float:left; float:right; 1.浮动特性 2.浮动布局 3.清除浮动的方法 方法一:额外标签...

网友评论

    本文标题:css清除浮动float的三种方法

    本文链接:https://www.haomeiwen.com/subject/zgmhrxtx.html