了解CSS中的浮动和定位之前有必要先了解清楚标准流和脱离标准流的特性
标准流的默认特性
1、分行、块级元素,并且能够dispay转换。
2、块级元素(block):默认独占一行,不能并列显示,能够设置宽、高,宽度为父盒子的100%。例如:div、p、标题元素(h1-h6)、列表元素(ul li、dl dt dd)
3、行内元素(inline):默认并排显示,不能设置宽、高,宽度为内容的宽度。例如:span、a、b、i
4、margin-bottom 和margin-top 塌陷,以最大值为准。
脱标的元素的特性
只要是脱离了标准流,元素都是不区分行、块的,体现在任何元素都可以设置宽、高了。都有了收缩的 性质,就是不设置宽度,就自动缩减为里面内容的宽度。
浮动的元素有贴边的性质,绝对定位的元素可以自由定位。
浮动float
浮动可以使块级元素并排显示,用于页面布局。
元素的浮动属性float,属性值有:元素向左(left)、元素向右(right)和元素不浮动(none)。
清除浮动有clear,常用的属性值有:不允许向左浮动(left)、不允许向右浮动(right)和同时清除左右浮动(none)。
overflow属性是清除浮动,对元素应用“overflow:hidden;”样式,也可以清除浮动对该元素的影响,该方法弥补了空标记清除浮动的不足;常用的属性值有:内容不会被修剪(visble)、溢出来的内容会被修剪,并且被修剪的内容是不可见(hidden)、在需要时生产滚动条,即自适应所要显示的内容、溢出内容会被修剪,且浏览器会始终显示滚动条。
position属性用于定义元素的定位模式,常用的属性值有:静态定位(static)、相对定位,相对于其原文档流的位置进行定位(relative)、绝对定位,相对于其上一个已经定位的元素进行定位(absolute)、固定定位,相对于浏览器窗口进行定位(fixed)。
行内元素:特点是不必再新的一行开始,同时也不强迫其他元素在新的一行显示。常见的有:strong、b、i、em、del、s、ins、等,span是最典型的行内元素。
块元素:特点是每个块元素通常都会独自占据一整行或多整行,可以对其设置宽度、高度、对齐等属性。常见的有:<li> <p> <ol> <ul> <div> <h1>——<h6>等。
span标记常用于定义网页中某些特殊显示的文本,配合class属性使用。