文档流
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--
文档流
文档流处在网页的最底层,它表示的是一个页面中的位置,
我们所创建的元素默认都处在文档流中
元素在文档流中的特点
块元素
1.块元素在文档流中会独占一行,块元素会自上向下排列。
2.块元素在文档流中默认宽度是父元素的100%
3.块元素在文档流中的高度默认被内容撑开
内联元素
1.内联元素在文档流中只占自身的大小,会默认从左向右排列,
如果一行中不足以容纳所有的内联元素,则换到下一行,
继续自左向右。
2.在文档流中,内联元素的宽度和高度默认都被内容撑开
-->
<!--
当元素的宽度的值为auto时,此时指定内边距不会影响可见框的大小,
而是会自动修改宽度,以适应内边距
-->
<div style="background-color: #bfa;">
<div style="height: 50px;"></div>
</div>
<div style="width: 100px; height: 100px; background-color: #ff0;"></div>
<span style="background-color: yellowgreen;">我是一个span</span>
<span style="background-color: yellowgreen;">我是一个span</span>
<span style="background-color: yellowgreen;">我是一个span</span>
<span style="background-color: yellowgreen;">我是一个span</span>
<span style="background-color: yellowgreen;">我是一个span</span>
<span style="background-color: yellowgreen;">我是一个span</span>
</body>
</html>
浮动
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.box1{
width: 600px;
height: 200px;
background-color: red;
/*
* 块元素在文档流中默认垂直排列,所以这个三个div自上至下依次排开,
* 如果希望块元素在页面中水平排列,可以使块元素脱离文档流
* 使用float来使元素浮动,从而脱离文档流
* 可选值:
* none,默认值,元素默认在文档流中排列
* left,元素会立即脱离文档流,向页面的左侧浮动
* right,元素会立即脱离文档流,向页面的右侧浮动
*
* 当为一个元素设置浮动以后(float属性是一个非none的值),
* 元素会立即脱离文档流,元素脱离文档流以后,它下边的元素会立即向上移动
* 元素浮动以后,会尽量向页面的左上或这是右上漂浮,
* 直到遇到父元素的边框或者其他的浮动元素
* 如果浮动元素上边是一个没有浮动的块元素,则浮动元素不会超过块元素
* 浮动的元素不会超过他上边的兄弟元素,最多最多一边齐
*/
float: left;
/*
* 浮动的元素不会盖住文字,文字会自动环绕在浮动元素的周围,
* 所以我们可以通过浮动来设置文字环绕图片的效果
*/
}
.box2{
width: 600px;
height: 200px;
background-color: yellow;
float: left;
}
.box3{
width: 200px;
height: 200px;
background-color: green;
float: right;
}
.box1{
/*
* 在文档流中,子元素的宽度默认占父元素的全部
*/
background-color: #bfa;
/*
* 当元素设置浮动以后,会完全脱离文档流.
* 块元素脱离文档流以后,高度和宽度都被内容撑开
*/
/*float: left;*/
}
.s1{
/*
* 开启span的浮动
* 内联元素脱离文档流以后会变成块元素
*/
float: left;
width: 100px;
height: 100px;
background-color: yellow;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>