第六章 布局浮动
描述 | |
---|---|
none | 表示不浮动,所有之前讲解的HTML标签默认不浮动 |
left | 左浮动 |
right | 右浮动 |
inherit |
例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>浮动属性用法</title> <style type="text/css"> .left{ width: 200px; height: 200px; background-color: red; color: #fff; /*左浮动*/ float:left; } .right{ width: 200px; height: 200px; background-color: green; color: #fff; /*右浮动*/ float:right; } </style> </head> <body> <div class="left">左边的盒子</div> <div class="right">右边的盒子</div> </body> </html> 观察.left盒子有收缩现象,并且往左边靠。.right也有收缩现象,往右边靠。
-
-
浮动的元素互相贴靠,贴边
-
浮动的元素会产生”字围“效果,文字环绕
-
浮动元素有收缩效果
-
6.3 标准文档流
-
文档流指的是元素排版布局过程中,元素会默认
-
即不对页面进行任何布局控制时,浏览器默认的HTML布局方式,这种布局方式从左往右,从上往下,有点像流水的效果,我们称为
流式布局
-
脱标
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>脱标</title> <style type="text/css"> .box1{ width: 200px; height: 200px; background-color: red; float: left; color: #fff; } .box2{ width: 400px; height: 400px; background-color: green; color: #fff; } </style> </head> <body> <div class="box1">左青龙</div> <div class="box2">右白虎</div> </body> </html>
- 应用:万年不变导航栏
- 内墙法:给最后一个浮动元素的后面添加一个空的块级标签div、p,并且设置该标签的属性为clear:both;
伪元素清除法 推荐大家使用
.clearfix::after{
content:'';
display: block;
clear: both;
/*visibility: hidden;*/可见的隐藏,当content有内容的时候可以添加visibility和height控制
/*height: 0;*/
}
overflow:hidden; 常用,超过部分隐藏
overflow:visible;可见的 默认
overflow:scroll;滚动
overflow:auto;与overflow:scroll的效果一样
overflow:inherit; 继承父级的
#### 深入理解BFC布局
* 布局规则:
```css
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