css-HTML的文档流和文本流分别是什么

前言

问题来自于知乎上面的一个问题。地址
说的是腾讯一道面试题。
谈到float还有position中的absolute和fixed脱离文本流的时候,问到底是脱离文档流还是文本流

翻译问题

作为新手,会被各种翻译问题搞得人晕头转向。所以学习技术的一个重要心态是追根溯源,直接去看英文文档。具体的介绍在下面这个地址:w3.org-visuren

解释

问题中所说的文档流是指“Normal flow”,文本流是指“Text flow”。
具体来说“Normal flow”是css中定位的一种默认情况,平时我们所说的BFC、IFC等都是“Normal flow”的情况下的规则。
英文文档上面解释的意思,当元素浮动的时候,会先遵循“Normal flow”的规则,然后尽可能的向俩边靠。所以float并不是会脱离文档流,反而是依赖于文档流。
position中的absolute和fixed的情况下,官方文档解释说会完全脱离“Normal flow”。
至于文本流,我自己还没有看到这种解释的。在“Normal flow”中,BFC规则中,文本会围绕在浮动元素旁边。出现了这种现象,可能国人就自定义了“文本流”这种东西。

总结

总结:表面上看,float脱离了“文档流”,没有脱离“文本流”;position中的absolute和fixed全部脱离。这种解释也合情合理,是标准答案。实际上官方的英文文档是我上面的那种解释。