美文网首页
前端开发之清浮动(BFC)

前端开发之清浮动(BFC)

作者: _Joeyoung_ | 来源:发表于2017-10-28 23:01 被阅读18次

BFC就是清浮动,用来处理浮动元素脱离文档流的问题。
今天在此记录下清理浮动的几种方法,对前端开发中浮动不清楚的可以戳这里

先总结下浮动的几大特性:

浮动的特性:
1.浮动的元素排在同一排
2.浮动的元素内容撑开宽度
3.浮动的元素支持所有css样式
4.浮动的元素脱离文档流
5.浮动的元素提升层级半级

以下列举清浮动的六种方法:

先演示下浮动的代码:

  <style>
    #box1 {
      width: 540px;
      border: 10px solid red;
      margin: 0 auto;
    }
    span {
      width:  100px;
      height: 100px;
      border: 4px solid blue;
      text-align: center;
      line-height: 100px;
      float: left;
    }
  </style>
<body>
  <div id="box1">
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
  </div>
</body>
浮动导致span脱离文档流,div包不住子元素span了。
方法一:父级也浮动
//给父类元素添加也浮动
#box1{float: left;}
不建议用,页面复杂的情况下要给所有父级元素都添加浮动,不现实
弊端:

左右的 margin:0 auto; 布局会失效。

方法二:父级加display: inline-block;
#box1{display: inline-block;}
弊端:

同上,左右的 margin:0 auto; 布局会失效。
如果需要让元素居中,可以给#box1标签的父级即<body>text-align: center;

方法三:父级加height
#box1{height:108px;}
弊端:

不易拓展,假如子类元素又添加新元素,还要从新计算父级元素高度。

方法四:在父元素的末尾添加<br clear="all">子标签
<div id="box1">
     ...
  <br clear="all">
</div>
弊端:

不符合W3C规范:结构、行为、样式三者分离。

方法五:在父元素末尾添加子标签,给该子标签添加clear
//在<style>中
#sun{
  clear: both;
}

//在<body>中
<div id="box1">
      ...
  <div id="sun"></div>
</div>
弊端:

同上,不符合W3C规范:结构、行为、样式三者分离。

方法六:伪类清浮动
//在<style>中
#box1:after{
  content: "";display: block;clear: both;
}
弊端:无

推荐使用该方法清浮动,主流。

//可以在公用的<style>中定义,
//需要清浮动的元素只需要添加类 class = "clear" 就能清除浮动
.clear:after{
  content: "";display: block;clear: both;
}
//解决兼容性问题
clear{
  zoom:1;
}

千里之行,始于足下~

相关文章

  • 前端开发之清浮动(BFC)

    BFC就是清浮动,用来处理浮动元素脱离文档流的问题。今天在此记录下清理浮动的几种方法,对前端开发中浮动不清楚的可以...

  • 7、浮动样式与BFC常见方法

    display:inline-block; // 内联块 float:浮动 BFC:就是清浮动,用来处理元素脱离...

  • 技术知识点整理

    清除浮动 BFC清除浮动浮动的父级末尾插入块级元素清除浮动 BFC(Block Formatting Contex...

  • 随手笔记

    CSS 清浮动 clear : both;overflow: hidden; BFC (块级格式化上下文): 方法...

  • BFC [块级格式化上下文]

    1、BFC 会阻止垂直外边框合并2、BFC 不会重叠浮动元素3、BFC 可以包含浮动 4、任何元素设置了float...

  • BFC

    flow-root:让当前元素触发BFC BFC的两个功能:1.爸爸管儿子用BFC包住浮动元素(不是清除浮动,清除...

  • 浮动/BFC

    浮动 通过浮动,我们能很方便地布局,但是也会造成各种影响. BFC 什么是BFC? 创建了 BFC的元素就是一个独...

  • web前端面试官常问问题合集,web程序员速度查看

    前端面试常问哪些问题? CSS 1、盒模型 2、flex 3、css单位 4、css选择器 5、bfc 清除浮动 ...

  • 关于 BFC 的布局应用:清除浮动、文字环绕

    关于 BFC 的布局应用:清除浮动、文字环绕 参考文档:理解CSS中BFC BFC(Block Formattin...

  • ★ BFC / 浮动

    概念 触发 BFC 特性及应用 概念 BFC Block Formatting Contexts 块级格式化上下文...

网友评论

      本文标题:前端开发之清浮动(BFC)

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