若是想实现网页中排版布局,好比一行内显示对应的标签元素,可使用浮动属性。浮动能够实现元素并排。html
块转行内日块也能够实现一行显示,不过存在空白折叠现象python
float 浮动浏览器
属性值 | 描述 |
---|---|
none | 表示不浮动,全部以前讲解的HTML标签默认不浮动 |
left | 左浮动 |
right | 右浮动 |
inherit | 继承父元素的浮动属性 |
#当一个元素浮动以后,它会被移出正常的文档流,而后向左或者向右平移,一直平移直到碰到了所处的容器的边框,或者碰到另一个浮动的元素
咱们以前说浮动的设计初衷是为了作”文字环绕效果“。那么咱们就来看一下若是对盒子设置了浮动,会产生什么现象?布局
脱标
文档流指的是元素排版布局过程当中,元素会默认自动从左日后,从上往下的流式排列方式。设计
即不对页面进行任何布局控制时,浏览器默认的HTML布局方式,这种布局方式从左往右,从上往下,有点像流水的效果,咱们称为流式布局
。code
脱标
给浮动元素添加父级块,并设置父级块高度;htm
内墙法: 给最后一个浮动元素的后面添加一个空的块级标签,而且设置标签的属性为 clear:both;继承
伪元素清楚法(推荐)资源
.pa::after{ content:'' display: block; clear: both; }
overflow: hidden;清楚法 (经常使用)文档
# overflow: hidden(超出隐藏) vidible(默认-可见) scroll(滚动显示) 在父级盒子上设置一个overflow: hidden; #注意:hidden(超出隐藏)!!
BFC生成规则
1.内部的Box会在垂直方向,一个接一个地放置。 2.Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠 3.每一个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,不然相反)。即便存在浮动也是如此。 4.BFC的区域不会与float 元素重叠。 5.BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。 6.计算BFC的高度时,浮动元素也参与计算
哪些元素会生成BFC
1.根元素 2.float属性不为none 3.position为absolute或fixed 4.display为inline-block 5.overflow不为visible