小编典典

为什么 CSS 可以处理虚假元素?

all

在我的课堂上,我在玩耍时发现 CSS 可以与合成元素一起使用。

例子:

imsocool {

    color:blue;

}


<imsocool>HELLO</imsocool>

当我的教授第一次看到我使用它时,他对虚构元素的工作感到有点惊讶,并建议我将所有虚构元素简单地更改为带有 ID 的段落。

为什么我的教授不希望我使用虚构的元素?他们有效地工作。

另外,他为什么不知道存在合成元素并与 CSS 一起使用。它们不常见吗?


阅读 117

收藏
2022-03-17

共1个答案

小编典典

为什么 CSS 可以处理虚假元素?

(大多数)浏览器被设计为(在某种程度上)与未来添加的 HTML 向前兼容。无法识别的元素被解析到 DOM 中,但没有与之关联的语义或专门的默认呈现。

当向规范中添加新元素时,有时 CSS、JavaScript 和 ARIA 可用于在旧浏览器中提供相同的功能(并且元素必须出现在 DOM
中,这些语言才能操作它们以添加该功能)。

(虽然应该指出,定义一种使用自定义元素扩展
HTML
的方法的工作正在进行中,但这项工作目前处于开发的早期阶段,因此在成熟之前应该避免它。)

为什么我的教授不希望我使用虚构的元素?

  • HTML 规范不允许它们
  • 它们可能与未来具有相同名称的标准元素发生冲突
  • 可能存在更适合该任务的现有 HTML 元素

还; 为什么他不知道虚构元素的存在并与 CSS 一起使用。它们不常见吗?

是的。人们不使用它们,因为它们有上述问题。

2022-03-17