赞
踩
在了解BFC前,首先需要知道它是什么,它有哪些特性,它是如何形成的。
BFC(Block Formatting Context)块级格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。
垂直边距重叠示例:常规两个盒模型上下边距会重叠,取两者边距最大值,如下图所示:
防止上下box垂直边距重叠:这里用float产生BFC,当然还有其它方式也可以产生同样效果,这里就不一一举例了。
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .left{ float:left; width:200px; background-color:red; min-height:100%; height:300px; } .right{ overflow:hidden; background-color:green; height:300px; } </style> </head> <body> <h1>左右布局,左侧固定宽度200px,右侧宽度自适应</h1> <div class="left"></div> <div class="right"></div> </body> </html>
图文环绕:img标签采用float:left浮动在左侧,覆盖在p标签上方。
用BFC防止文字环绕图片:为文字标签添加overflow:hidden,产生BFC效果
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> img{ float:left; width:100px; height:100px; border:solid 1px #666; } </style> </head> <body> <div class="img-txt"> <img src="https://img02.sogoucdn.com/app/a/100520021/B78C3A9378E757CBB073D97E8B4E7062"> <p style="overflow:hidden">好好学习,天天向上!说的很有道理,正所谓不学无术嘛~~ 好好学习,天天向上!说的很有道理,正所谓不学无术嘛~~好好学习,天天向上!说的很有道理,正所谓不学无术嘛~~好好学习,天天向上!说的很有道理,正所谓不学无术嘛~~</p> </div> </body> </html>
浮动元素不能撑起处于标准文档流中父层容器的高度,添加overflow:hidden 可清除浮动
实例:
一个父容器有两个浮动的子容器,该父容器的高度没有被子容器撑起,高度为0,宽度为行宽,如下图所示
为父容器添加overflow:hidden,清除浮动后,它的高度为子容器撑起的高度,宽度为行宽,如下图所示
为父容器添加float:left使它浮动,它的宽高为子容器撑起的宽高,如下图所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。