[css] 第148天 什么是脱离文档流?有什么办法可以让元素脱离标准的文档流?
haizhilin2013 opened this issue · comments
第148天 什么是脱离文档流?有什么办法可以让元素脱离标准的文档流?
块级元素的默认值为 display:block;
脱离的办法就是 设置它为 display:inline-block;
正常文档流是块级元素垂直分布,行内和行内块级是水平分布,脱离文档流就是不按照正常文档流的顺序进行排列。
设置float、position可以脱离文档流,float是半脱离,元素中的内容仍处于文档流之中,position:absolute和fixed也会使脱离文档流
通过设置position为absolute fixed可以使得其脱离文档流
通过设置float 也可以使得其他盒子容器忽略其排布,但是盒子内的文本仍会为其调整位置。
文档流就是指元素在 HTML 文档中位置顺序决定排布的过程。HTML 元素有块级元素和行内元素,块级元素一个占一行,行内元素在一行内依次排布。整体元素从上到下的排布顺序如同瀑布一样。
脱离文档流即脱离了排布的规则。可以使用 float
、absolute/fixed
来脱离文档流。脱离文档流的元素不受文档流内元素的影响。
W3C中没有文档流document flow
的说法,只有normal flow
的概念。
normal flow
中的盒子,构成结构化文本,其中包括block和inline,两者不可同时存在,非block即inline,元素按照其在HTML中的位置顺序决定排列的过程。
脱离普通流的三种方法:float,position,fixed。