Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS规范:块级别框、块容器框和块框_Css - Fatal编程技术网

CSS规范:块级别框、块容器框和块框

CSS规范:块级别框、块容器框和块框,css,Css,我正在阅读,发现这些概念很难区分: 除了在后面章节中描述的表框和替换的元素外,块级框也是块容器框。块容器框要么仅包含块级别框,要么建立内联格式上下文,因此仅包含内联级别框。并非所有块容器框都是块级框:未替换的内联块和未替换的表单元格都是块容器,但不是块级框。同时也是块容器的块级框称为块框 我可以把上面的描述解释如下吗 你的解释是正确的 以下是一些额外的细节: 表框不是块容器的原因是它建立的是表布局,而不是块布局。内容进入单元格元素而不是表元素,这就是为什么单元格框是块容器而不是表框本身 替换的

我正在阅读,发现这些概念很难区分:

除了在后面章节中描述的表框和替换的元素外,块级框也是块容器框。块容器框要么仅包含块级别框,要么建立内联格式上下文,因此仅包含内联级别框。并非所有块容器框都是块级框:未替换的内联块和未替换的表单元格都是块容器,但不是块级框。同时也是块容器的块级框称为块框

我可以把上面的描述解释如下吗


你的解释是正确的

以下是一些额外的细节:

  • 表框不是块容器的原因是它建立的是表布局,而不是块布局。内容进入单元格元素而不是表元素,这就是为什么单元格框是块容器而不是表框本身

  • 替换的元素不包含任何其他内容,因此不能是块容器

  • 块框和内联块之间的唯一区别是前者是块级别,而后者是内联级别。因此,显示值分别为
    display:block
    display:inline block
    。由于两者都是块容器,所以它们的内容格式没有区别

请注意,替换的图元和表框可以是内联级别或块级别。内联表和内联替换的元素只是从您引用的部分中排除,因为该部分仅适用于块级别的框;您将在第9节的其他地方或分别在第和节中找到对它们的引用


此外,即使块容器框只能包含块级别框或内联级别框,您仍然可以在同一块容器框中混合这两个框;在内部,它只是通过分隔块级和内联级框。

请记住,HTML是一个树,因此每个节点都可以作为父节点(子节点)和子节点(父节点)

记住这一点,事情开始变得有意义了,块级框指的是框充当chlid

块级别框是参与块格式设置的框 上下文

另一方面,块容器盒指的是可以容纳其他容器的父容器

块容器框仅包含块级别的框或 建立内联格式上下文,因此仅包含 内联电平盒

就像节点可以既是子节点又是父节点一样,HTML节点可以充当父节点(块容器框)或子节点(块级别框)或两者都可以

例如,如果不允许节点中的子节点(替换的元素),则该节点永远不能是父节点,最多只能是子节点(块级框),而不能是父节点(块容器框)

没有理由阻止非块父对象包含块父对象。
内联块
本身不是块,但它可以包含块级别框


关键是规格更容易从父子视图中理解

理解视觉格式模式感觉非常复杂。特别是分专题9.2和9.4。我希望该标准能够更好地解释这些主题,就像它对其他主题所做的那样。@Binary_10:该标准(并非总是)旨在成为web开发人员的资源。它是按原样编写的,因此所有内容都尽可能清晰地向浏览器开发人员说明。这就是说,我认为CSWG正在努力使现代规范更容易理解。那么,开发者最好的资源是如何获得更深层次的知识和奠定坚实的基础(CSS)?