清除浮动(float)的影响

浮动会导致父元素塌陷如图

解决办法:

父元素overflow:hidden,如图

末尾插入子元素clear,如图

为甚么,父元素overflow:hidden会解决塌陷问题?

来自知乎貘吃馍香的回答

overflow:hidden 的意思是超出的部分要裁切隐藏掉

那么如果 float 的元素不占普通流位置 普通流的包含块要根据内容高度裁切隐藏

如果高度是默认值auto 那么不计算其内浮动元素高度就裁切

就有可能会裁掉float 这是反布局常识的。

-----------------------------分割线-------------------------------------

如果了解BFC这个问题也就迎刃而解了,看看BFC怎么说的。

BFC布局规范中,计算BFC的高度时,浮动元素也参与计算

overflow:hidden会创建BFC。

为甚么,末尾插入子元素clear会解决塌陷问题?

看一下什么是清楚浮动这问题也可以迎刃而解

来自官方文档:

如果声明为左边或右边清除,会使元素的上外边框边界刚好在该边上浮动元素的下外边距边界之下

ok,好的基础才会走的更远。

时间: 2024-10-26 15:36:47

清除浮动(float)的影响的相关文章

css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')

一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer">     <div class="div1">1</div>     <div class="div2">2</div>     <div class="div3">3</div> </div> 分析CSS代码样

css清除浮动float的三种方法总结【转载自https://my.oschina.net/leipeng/blog/221125】

摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer">     <div class="div1">1</div>     <div class="div2">2</div>     <div class="div3

css清除浮动float的三种方法总结

转载地址:https://my.oschina.net/leipeng/blog/221125 css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer"> <div class="div1">1</div> <div class="div2">2</

清除浮动(带来的影响) clear与margin重叠

[CSS][清除浮动(带来的影响) clear与margin重叠] 1.用clear清除浮动(在浮动元素的底加入div且设置clear:both;),会发生margin重叠显现 2.用BFC清除浮动(在浮动元素的父元素上加入overflow: hidden;),则会把整个元素包起来,从而不会发生margin重叠现象 (PS:只有普通文档流中块框的垂直外边距才会发生外边距叠加.行内框.浮动框或绝对定位框之间的外边距不会叠加.) 第一个是使用了"clear:both"但是它会与margin

ss清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?

引自:https://my.oschina.net/leipeng/blog/221125. 一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer">     <div class="div1">1</div>     <div class="div2">2</div>     <div class="di

浮动 清除浮动(造成的影响)

一.浮动 CSS浮动    CSS float浮动的深入研究.详解及拓展(一)    CSS浮动属性Float详解 块级元素独占一行 块级元素,在页面中独占一行,自上而下排列,也就是传说中的流. 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为div元素是独占一行的. 注意,以上这些理论,是指标准流中的div.无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”. 浮动 浮动:浮动的框可以左右移动,直至它的外边缘遇到包

清除浮动 float 方法

清除浮动方法 方法一:使用带clear属性的空元素 在浮动元素后使用一个空元素如<div class="clear"></div>,并在CSS中赋予.clear{clear:both;}属性即可清理浮动.亦可使用<br class="clear" />或<hr class="clear" />来进行清理. .news { background-color: gray; border: solid 1

浮动的影响及如何清除浮动带来的影响

什么叫浮动:浮动会使当前标签脱离文档流,产生上浮的效果,同时还会影响周边元素(前后标签)及父级元素的位置和width,height属性.下面用一个小例子来看一看浮动的全过程:1.首先我们新建一个网页,在网页中用div元素创建三个小的正方形,为了区别分别给他们不同的ID值和背景颜色,代码如下 1 <style> 2 div{ 3 width:100px; 4 height:100px; 5 } 6 #green{ 7 background:green; 8 } 9 #blue{ 10 backg

清除浮动float那点事儿

抛弃那些没用的方法,只记住最实用的一种方法即可! 给要清除浮动的父元素多加一个class属性:clearfix!!! 样式如下: .clearfix:after{     content:".";             display:block;             height:0;             clear:both;             visibility:hidden; } 为了兼容ie6,ie7(现在的项目几乎已经完全不考虑) .clearfix{ z