css float疑点解惑

float元素带来了哪些好处和坏处?

image.png

如何克服float带来的坏处?

清楚浮动。

如何清除浮动?

对受到影响的元素利用clear方法清除。
父元素塌陷就可以对父元素设置overflow: hidden;
相邻元素受到影响就对相邻元素设置clear。
以父元素塌陷为例

<html>
    <meta charset="utf-8">
<head>
    <title>float属性的特点测试</title>
    <style type="text/css">
        .wrap {
            border: 4px solid gray;
        }
    .box1{
        float:left;
        height:30px;
        background:yellow ;
        }
    </style>
</head>
<body>
   <div class="wrap">
       <div class="box1">我是内容</div>
   </div>
</body>

如图,子元素没有被父元素包裹住。这是不对的~


image.png

为何overflow:hidden可以清除浮动?

clear可以清楚浮动。很正常,因为clear就是为了这个设计的。那么为啥overflow:hidden可以清除浮动呢?原理是什么?
CSS中为什么overflow:hidden能清除浮动(float)的影响?原理是什么? - 知乎
挺复杂的,大概意思就是设置这个hidden时,浏览器的计算高度的方式不会把浮动元素的高度视为0.

清除浮动的方法会不会带来副作用?

会。

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • CSS里浮动float是个概念比较暧昧的属性,撸主最早对浮动float的认识是基于布局的,认为float元素就是用...
    张歆琳阅读 40,063评论 23 152
  • 一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 在CSS当中,相...
    dengpan阅读 597评论 0 0
  • 浮动定位 BFC 边距合并 浮动元素 div的顺序是HTML代码中div的顺序决定的。 浮动可以理解为让某个div...
    nianxiaoge阅读 733评论 0 0
  • 现在半永久化妆真是越来越流行了,越来越多求美者选择做个半永久来提升自己的气质,但是这九种顾客不适合去做! 1、不切...
    李圣翔阅读 280评论 0 0