我想说元素的显示是CSS的东西。但是,在很多地方,我读过像HTML div is a block element
这样的东西。它只是人们使用的捷径吗?
它是否在CSS规范中实际指定(例如div
是块元素)还是仅仅是浏览器使用的一般约定?规范在哪里?
答案 0 :(得分:1)
html5规范在描述这些元素时没有谈及inline
和block
元素,他们谈到:
Content-Model: Kinds of Content
HTML4使用了inline
和block-level
,但是:
HTML不会使用术语“块级”或“内联”作为其内容模型规则的一部分,以减少与CSS的混淆。
w3c在10 Rendering中建议浏览器应该如何呈现元素,但是:
用户代理不需要以任何特定方式呈现HTML文档。但是,本节提供了一组用于呈现HTML文档的建议,如果遵循这些建议,可能会导致用户体验非常类似于文档作者的预期体验。
因此内容模型定义了哪些元素在哪些位置被允许,但只建议它们应该如何呈现。但是,display
block
值,inline
,table
,...在所有浏览器中大致相同,但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