是否在CSS或HTML规范中定义了块和内联元素?

时间:2017-08-05 18:15:24

标签: html css display

我想说元素的显示是CSS的东西。但是,在很多地方,我读过像HTML div is a block element这样的东西。它只是人们使用的捷径吗?

它是否在CSS规范中实际指定(例如div是块元素)还是仅仅是浏览器使用的一般约定?规范在哪里?

3 个答案:

答案 0 :(得分:1)

html5规范在描述这些元素时没有谈及inlineblock元素,他们谈到:

Content-Model: Kinds of Content

  • 元数据内容
  • 流量内容
  • 分区内容
  • 标题内容
  • 短语内容
  • 嵌入内容
  • 互动内容

HTML4使用了inlineblock-level,但是:

  

HTML不会使用术语“块级”或“内联”作为其内容模型规则的一部分,以减少与CSS的混淆。

w3c在10 Rendering中建议浏览器应该如何呈现元素,但是:

  

用户代理不需要以任何特定方式呈现HTML文档。但是,本节提供了一组用于呈现HTML文档的建议,如果遵循这些建议,可能会导致用户体验非常类似于文档作者的预期体验。

因此内容模型定义了哪些元素在哪些位置被允许,但只建议它们应该如何呈现。但是,display block值,inlinetable,...在所有浏览器中大致相同,但padding,{{1}等内容},......可能会有所不同。

对于html4,Appendix D. Default style sheet for HTML 4存在:

  

此样式表描述了基于对当前UA实践的广泛研究的所有HTML 4([HTML4])元素的典型格式。鼓励开发人员将其用作实现中的默认样式表。

Html与渲染无关,html是一种标记语言,允许以标准化方式组织信息。如果浏览器能够根据规范处理html,则符合html规范。除了视觉呈现的CSS规范之外,如果浏览器根据这些规范呈现DOM元素,则浏览器符合这些规范。如果浏览器符合所有这些标准,则浏览器符合网络标准 s

答案 1 :(得分:1)

HTML 3.2 defined the terms

CSS在定义the display property时被部分采用,但这扩展到支持many more values

HTML 4规范continued to use the terms

HTML 5删除了术语块和内联,支持a wider set of categories

答案 2 :(得分:0)

它是在HTML规范中定义的,但现在它有点宽了

  

块规范与内联元素的区别在HTML规范中使用,最高可达4.01。在HTML5中,这个二进制区别被一组更复杂的内容类别所取代。 "块级" category大致对应于HTML5中的流内容类别,而" inline"对应于措辞内容,但还有其他类别。

更多信息:https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements