From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/css/replaced_element/index.html | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 files/zh-cn/web/css/replaced_element/index.html (limited to 'files/zh-cn/web/css/replaced_element/index.html') diff --git a/files/zh-cn/web/css/replaced_element/index.html b/files/zh-cn/web/css/replaced_element/index.html new file mode 100644 index 0000000000..e8909dcccf --- /dev/null +++ b/files/zh-cn/web/css/replaced_element/index.html @@ -0,0 +1,64 @@ +--- +title: 可替换元素 +slug: Web/CSS/Replaced_element +tags: + - CSS + - 参考 +translation_of: Web/CSS/Replaced_element +--- +
{{CSSRef()}}
+ +

CSS 中,可替换元素replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。

+ +

简单来说,它们的内容不受当前文档的样式的影响。CSS 可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。某些可替换元素,例如 {{HTMLElement("iframe")}} 元素,可能具有自己的样式表,但它们不会继承父文档的样式。

+ +

CSS 能对可替换元素产生的唯一影响在于,部分属性支持控制元素内容在其框中的位置或定位方式。有关详细信息,请参阅本文下面的{{anch("控制内容框中的对象位置")}}。

+ +

可替换元素

+ +

典型的可替换元素有:

+ + + +

有些元素仅在特定情况下被作为可替换元素处理,例如:

+ + + +

HTML 规范也说了 {{HTMLElement("input")}} 元素可替换,因为 "image" 类型的 {{HTMLElement("input")}} 元素就像{{HTMLElement("img")}}一样被替换。但是其他形式的控制元素,包括其他类型的 {{HTMLElement("input")}} 元素,被明确地列为非可替换元素(non-replaced elements)。该规范用术语小挂件(Widgets)来描述它们默认的限定平台的渲染行为。

+ +

用 CSS {{cssxref("content")}} 属性插入的对象是匿名的可替换元素。它们并不存在于 HTML 标记中,因此是“匿名的”。

+ +

CSS 与可替换元素

+ +

CSS 在某些情况下会对可替换元素做一些特殊处理,比如计算外边距({{cssxref("margin")}})和一些 auto 的具体值。

+ +

需要注意的是,一部分(并非全部)可替换元素,其本身具有的尺寸和基线(baseline)会被一些 CSS 属性用到,加入计算之中,例如 {{cssxref("vertical-align")}}。只有可替换元素才能具有这种自带值。

+ +

控制内容框中的对象位置

+ +

某些CSS属性可用于指定 可替换元素中包含的内容对象 在该元素的盒区域内的位置或定位方式。这些属性的具体定义可以在 {{SpecName("CSS3 Images")}} 和 {{SpecName("CSS4 Images")}} 规范中找到:

+ +
+
{{cssxref("object-fit")}}
+
指定可替换元素的内容对象在元素盒区域中的填充方式。(有些类似于 {{cssxref("background-size")}} )
+
{{cssxref("object-position")}}
+
指定可替换元素的内容对象在元素盒区域中的位置。(类似于 {{cssxref("background-position")}} )
+
+ +

参见

+ + -- cgit v1.2.3-54-g00ecf