第四章
1.浮动(float)
1.1.普通流(标准流)
块级元素会独占一行,从上到下顺序排列
常用元素:div,hr,p,h1-h6,ul,ol,dl,form,table
行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘自动换行
常用元素: span,em,i,a等
1.2.浮动
让盒子从普通流浮动起来,主要作用让多个块级盒子一行显示
脱离标准流,移动到指定的位置
float:none(默认值);left(左浮动);right(右浮动)
浮动是在普通流上面,不占位置,俗称"脱标"
float会改变元素的display为inline-block
如果父盒子装不下子盒子,子盒子会另起一行对齐
float会使盒子之间不会存在空白间隙
浮动只会影响当前或是后面的标准流盒子,不会影响前面的盒子
1.3.定位
将盒子定在浏览器的某个位置
2.清除浮动
清除浮动主要是为了解决父级元素因为子元素浮动引起内部高度为0的问题,
清楚浮动之后,父级元素会根据浮动盒子的子盒子自动检测高度,父级有高度就不会影响下面的标准流盒子
2.1.额外添加在空标签<div style="clear:both"></div>
clear:left(清除左侧浮动);right(清除右侧浮动);both(同时清除两侧浮动,最常用)
添加多余的无意义标签,结构化差
2.2父级添加overflow属性方法
overflow:hidden
内容增多时造成不会自动换行导致内容被隐藏,无法显示需要溢出的元素
2.3.伪元素清除浮动
.clearfix:after {content:"";display:block;height:0;visibility:hidden;clear:both;
}
.clearfix {*zoom:1; /*IE6,7专门清除浮动
}
2.4.双伪元素清除浮动
.clearfix:before,.clearfix:after { content:".";display:table;
}
.clearfix:after {clear:both;
}
.clearfix {*zoom:1;
}