什么是浮动?
view1:
1.在传统的印刷布局中,文本可以按照实际需要来围绕图片。一般把这种方式称为“文本环绕”。在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里被文字包围的图片一样。
浮动属性float是CSS布局的最佳利器,我们可以通过不同的浮动属性值灵活地定位div元素,以达到布局网页的目的。我们可以通过CSS的属性float使元素向左或向右浮动。也就是说,让盒子及其中的内容浮动到文档的右边或者左边。以往这个属性总应用于图像,使文本围绕在图像周围,不过在CSS中,任何元素都可以浮动。
浮动元素会生成一个块级框,而不论它本身是何种元素。
view2:
浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框。
而此浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去:块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素。内联元素:有空隙就插入。
为何要浮动?
我们使用float浮动做了很多其本职工作以外的事情,于是我们会混淆,我们会回看不清float真正的面目。浮动真正的意义在哪里呢?要知道这个问题的答案很简单,假设现在CSS中没有浮动(float)属性,那么会变成一个什么样子。我们会发现,目前流行采用浮动方法实现的无论是分栏布局,还是列表排列我们都可以用其他一些CSS属性(不考虑table)代替实现,唯一一个实现不了的就是“文字环绕图片”,我是想不出来能有什么方法可以让文字环绕图片显示。好,这个替代不了的作用才是float真正的意义所在。此作用类似于word中的版式,很基础的原始的作用。
谁能float?
view1:
You can’t float every element on a web page. You can only float block-level elements. These are the elements that take up a block of space on the page, like images (), paragraphs (), divisions (), and lists ().
Other elements that affect text, but don’t create a box on the page are called inline elements and can’t be floated. These are elements like span (), line breaks (), strong emphasis (), or italics ().
float后面的非float元素如何定位?
浮动元素后边的元素
若是非浮动行内元素且因为定位产生重叠时,行内元素边框、背景和内容都在该浮动元素“之上”显示。
若是非浮动块级元素跟在浮动元素后边且在定位后产生重叠时,该块级元素边框和背景在该浮动元素“之下”显示,只有内容在浮动元素不在浮动元素“之下”显示。
float真的不占据文档空间么?
1、如果两个div,第一个正常,第二个设为浮动,是不是第二个就会覆盖掉第一个,但实际试验情况不是如此,第二个div还是在第一个div的下边显示;
2、两个div, 第一个设为浮动,第二个正常,显示结果为第一个浮动div覆盖第二个div。
因此我判断:例1-> 第二个div设为浮动后,确实不占据文档空间,但是引文第一个是普通文档,他占据了文档流空间,浮动元素认为上边的文档流都已占用,因此第二个浮动div要从下边显示。
例2-> 第一个div设为浮动后,不占据文档空间,所以第二个普通文档会上移到第一个div的下面,因为他不认为上边有元素,所以会自动上移。
css样式 float的理解 - 525525 - 博客园
使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。而对于使用absolute positioning脱离文档流的元素,其他盒子与其他盒子内的文本都会无视它。
为何float被过度使用?
The reason that the float property became so common was that, by default, block-level elements will not line up beside one another in a column-based format. Since columns are necessary in virtually every CSS layout, this property started to get used — and even overused — prolifically.
参考
CSS float 浮动属性 - polk6 - 博客园
css中float left与float right的使用说明CSS教程CSS网页制作脚本之家
CSS float浮动的深入研究、详解及拓展(一) « 张鑫旭-鑫空间-鑫生活
float | CSS-Tricks
The Mystery Of The CSS Float Property – Smashing Magazine