浮动元素产生的浮动流及消除

一、浮动元素会产生浮动流

HTML

<div class="box"></div>
<div class="demo"></div>

浮动元素产生浮动流
所有产生了浮动流的元素,只有块级元素看不到他们
产生了bfc的元素和文本类属性(带有inline属性)的元素以及文本都能看到浮动元素
CSS

.box{
    float: left;
    width: 100px;
    height: 100px;
    background-color: black;
}
.demo{
    width: 150px;
    height: 150px;
    background-color: green;
}
未加浮动.jpg

加了浮动.jpg

二、消除浮动流

例如
HTML

<div class="wrapper">
    <div class="content">1</div>
    <div class="content">2</div>
    <div class="content">3</div>
</div>

CSS

.wrapper{
    border: 1px solid black;
}
.content{
    float: left;
    color: #fff;
    background-color: black;
    width: 100px;
    height: 100px;
}
产生了浮动流框包不住.jpg
1. plan1

给div中添加<p>标签
clear:both;属性消除浮动流
HTML

<div class="wrapper">
    <div class="content">1</div>
    <div class="content">2</div>
    <div class="content">3</div>
    <p></p>
</div>

CSS

p{
    border-top: 0 solid green;
    clear: both;
}
没有clearboth.jpg

有clearboth.jpg
2. plan2 利用<div class="wrapper">标签的伪元素

CSS

.wrapper::after{
    content: "";
    clear: both;
    display: block;
}
3. plan3 触发bfc

CSS

.wrapper{
    position: absolute;
    border: 2px solid red;
}
.content{
    float: left;
    color: #fff;
    background-color: black;
    width: 100px;
    height: 100px;
}

触发bfc.jpg

凡是设置了position:absolute;/float:left/right;
会从系统内部把元素转换成inline-block所以会出现这个效果

例如
HTML

<span>123</span>

CSS

span{
    background-color: red;
    width: 100px;
    height: 100px;
}

span是行级标签所以设置宽高无效


span未设置float或position.jpg
span{
    position: absolute;
    background-color: red;
    width: 100px;
    height: 100px;
}

span设置position:absolute;后变成行级块元素设置了宽高有效


span设置float或position.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,846评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 书生夜作剑门客, 帝里苍茫重障隔。 低壑飘风不见人, 高崖摇树但惊翮。 始眸疑有万山兵, 久察方知千鬼魄。 自古雄...
    寺咀山主人阅读 690评论 0 3
  • 读书 《阿特拉斯耸耸肩》震聋发聩的价值观,我多么希望可以成为阿特拉斯中的一个 “假如我不是把尽自己最大努力和最大限...
    子茵Lynn阅读 517评论 0 0
  • 01 你有没有这样的困惑,有时,想和闺蜜聊聊天,对方总会说:“现在有点忙,等有空吧”;想找朋友吃吃饭,对方也会说,...
    作家长河阅读 765评论 0 1