【问题标题】:what is a non-replaced inline element?什么是不可替换的内联元素?
【发布时间】:2021-09-30 00:22:11
【问题描述】:

在读取CSS2 specificationheight属性时遇到以下情况:

适用于:所有元素,但不可替换的内联元素、表格列和列组

我了解替换元素(<img>) 或内联元素(<button>, <a>) 是什么,但无法找出未替换内联元素的示例。

【问题讨论】:

  • 如果你知道什么是替换元素,什么是内联元素,你就知道什么是非替换内联元素。它们是那些未被替换的内联元素。

标签: html css


【解决方案1】:

对于大多数实际用途,最好将“替换”理解为“嵌入”。所以“不可替换元素”只是一个这样渲染的元素,而不是导致一些外部内容出现在它的位置。

“不可替换的内联元素”这个表述没有它自己的定义:它只是指任何既是非可替换元素又是内联元素的元素。如<a>。 HTML 中的大多数元素都是不可替换的。非替换元素只是一个不是替换元素的元素。

然而,在 CSS 规范中,“替换元素”这个概念只是一般性的描述,并没有任何明确的此类元素列表。这是可以理解的,因为 HTML 的发展相当独立于 CSS。

随着时间的推移,这个概念发生了一些变化。 CSS 1 spec 说:“在 HTML 中,IMG、INPUT、TEXTAREA、SELECT 和 OBJECT 元素可以是替换元素的示例。”在较新的规范中,不再包含表单字段。这反映在 HTML5 草案中,其中Rendering 部分明确列出了不可替换元素下的表单控件。据它说,唯一被替换的元素是那些将外部内容(如图像、视频、小程序或 HTML5 画布)嵌入到 HTML 文档中的元素——除了提到修改后的menu 元素(预计将以一种与浏览器控件相呼应的方式实现,因此它也嵌入了外部内容。

此更改反映了浏览器的开发。早期的浏览器使用系统例程以一种不受 CSS 任何东西影响的方式实现表单字段,并且这种方法仍然存在,但现在表单字段大多可以用 CSS 格式化,因此它们已经有效地从替换变为非替换元素。

【讨论】:

  • it is best to read “replaced” as “embedding” 真的很容易理解,很好的解释,谢谢!
  • 很好的答案。
  • 非替换元素只是一个不是替换元素的元素 xD
【解决方案2】:

大卫·巴伦discusses this on his website here.

有两种类型的内联元素:替换内联元素和 不可替换的内联元素。一般来说,不可替换的元素是 那些内容包含在文档中的人,而 替换元素是那些内容在文档之外的元素。 例如在代码中:

访问<a href="http://www.w3.org/">World Wide Web Consortium</a> 了解... a 元素的内容是“万维网 联盟”。被替换的元素是内容来自的元素 一些外部来源,例如 objectimg 元素。

然而,就内联盒模型而言,定义 如上所述,除了具有显示类型的元素 inline-tableinline-block(后者是 CSS3 的建议类型 以容纳表单元素)被视为替换元素。

非替换内联元素的好例子有spanstrongibem等。

【讨论】:

  • 是一个内联元素,它是一个不可替换的元素。这是否使它成为不可替换的元素?
  • 我不确定这是否有意义。
  • @MichaelZ 如果我理解正确,button 是一个内联块元素,因为填充等是内置于自身的。我可能是错的,如果是这样,我会撤回此评论,但根据大卫巴伦的说法,这在技术上将被视为替换元素。
  • 这个答案比公认的答案更好,因为它更清楚地解释了“替换”的想法。 OP 已经对每个类别中存在的元素有了一些了解。
【解决方案3】:

可以在索引中找到a replaced element的定义:

内容超出 CSS 格式范围的元素 模型,例如图像、嵌入文档或小程序。例如, HTML IMG 元素的内容经常被图片替换 它的“src”属性指定。被替换的元素通常有 固有尺寸:固有宽度、固有高度和 内在比率。例如,位图图像具有固有宽度 和以绝对单位指定的固有高度(从 内在比率显然可以确定)。另一方面,其他 文档可能没有任何固有尺寸(例如,空白 HTML 文档)。

用户代理可能认为被替换的元素没有任何内在的 尺寸,如果认为这些尺寸可能泄漏 敏感信息给第三方。例如,如果一个 HTML 文档根据用户的银行余额改变内在大小, 那么 UA 可能想要表现得好像该资源没有内在的 尺寸。

CSS 中不考虑被替换元素的内容 渲染模型。

不可替换的内联元素是内联且不符合上述规定的东西。粗略地说,它是一个包含(或可以包含)可以正常设置样式的文本的元素。 (abcitedefem 等)

【讨论】:

    猜你喜欢
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 2017-10-04
    • 2013-08-05
    • 2022-12-17
    相关资源
    最近更新 更多