标签按照默认的方式排列,我们称之为标准流(也称正常流、文档流)。比如块元素会占据单行,从上到下依次排列,而行内元素会从左到右依次排列,碰到父元素的边缘会自动换行。标准流是最基本的布局方式。但是有很多的布局效果,光靠标准流程是做不到的。这时候可以使用浮动来完成布局,因为浮动可以改变元素标签的默认排列方式。最典型的应用:可以将多个块级元素放在一行中排列显示。div{浮动:无;/*元素不浮动(默认值)*/float:left;/*元素向左浮动*/float:right;/*元素向右浮动*/}1.浮动特性1.1浮动元素会Outofthestandardflow(off-label)设置浮动元素,脱离标准流的控制,不再保留其原有位置。1.2浮动元素将显示在一行中并在元素顶部对齐。如果多个框设置为浮动,即使每个框的大小不同,它们也会根据属性值排成一行并在顶部对齐。如果父元素不能在一行中容纳多个框,则多余的框将在新的一行上对齐。1.3浮动元素具有内联块元素的特点。任何元素都可以设置为浮动,无论是块级元素、行内元素还是行内块元素。设置浮动时,元素可以获得内联块元素的属性。如果内联元素设置为浮动,则无需模式转换即可设置元素的宽高。如果未设置块级框的宽度,则默认宽度与父级相同。float设置好后,根据内容决定其大小。浮动元素和内联块元素的区别:浮动框是紧挨着的,没有间隙。2.浮动布局注意点2.1浮动与标准流父框搭配在布局过程中,我们先使用标准流父元素安排上下位置,然后内部子元素使用浮动安排左右位置.可以首先调整子元素的大小,然后再定位。2.2当一个元素浮动时,理论上其余的兄弟元素也应该浮动。一个框设置为浮动后,会影响浮动框后面的标准流(因为浮动元素会脱标)。如果一个盒子里面有多个盒子,如果其中一个盒子是浮动的,那么其他的兄弟元素也应该是浮动的。3.清浮。很多时候不方便给父框赋予高度(比如一些购物网站的商品页面,商品数量不固定,父框的高度也不确定),但是childbox浮动,不占位置。最后的结果是父框的高度为0,会影响下面的标准框。这时候我们需要清除浮动。清除浮动并不是让元素不浮动。清除浮动的本质是清除浮动元素带来的影响。如果父框本身有高度,则无需清除浮动。清除浮动后,父框会自动根据浮动的子框检测高度。有了parent的高度,不会影响后面的标准流程。div{清除:左;/*不允许左侧浮动元素(清除左侧浮动元素的影响)*/clear:right;/*不允许右侧浮动元素(清除右侧浮动元素的影响)*/clear:both;/*同时清除左右两边浮动的影响(实际工作中,几乎只用到这个)*/}清除浮动的策略是关闭浮动。只让浮动影响父框内部,不影响父框外的其他框。3.1清除浮动-附加标签法附加标签法也称为隔墙法。extra标签方法会在浮动元素末尾添加一个空标签【要求标签必须是块级元素】。例如
