使用自定义HTML元素与HTML元素或ID或类

Wil*_*iam 6 html javascript css createelement

出于好奇,它会对网站或页面产生什么影响(如果有的话),而不是使用元素的ID或类,你只需创建自定义元素w/JS并用CSS设置它们的样式?

例如,如果我创建一个元素"容器"并将其用作<container>而不是<div class="container">,是否存在性能差异?

我不认为这经常使用,我想知道为什么?

Ric*_*uen 2

这就像说“如果我尊重英语的语法和语法,但组成所有单词怎么办?” 虽然这种想法可以写出好诗,但它并不适合技术领域;)

HTML 有一组已定义的有效标签。如果使用任何虚构的标签,该标签将无效。

现在,这并不意味着你不能逃脱惩罚;而是意味着你不能逃脱惩罚。在万维网上,宽恕是默认设置,因此如果您使用自己编写的标签,那不会是世界末日……但这仍然是一个坏主意,因为您无法保证浏览器如何处理这些标签标签。

因此,对于“如果不使用元素的 ID 或类,而是简单地使用 JS 创建自定义元素并使用 CSS 对其进行样式化,会对页面产生什么影响?”的唯一真正答案是?是什么事都有可能发生由于您将使用非标准 HTML 元素,因此最终会得到非标准结果,我们都不应该尝试和预测。

如果您确实想要(和/或需要)使用自定义元素,请研究 XML。在 XML 中,您可以“组成”标签,但仍然可以应用 CSS 并在浏览器中打开文档。

例如,保存以下两个文件,然后在浏览器中打开 XML 文件:

索引.xml

<?xml-stylesheet href="style.xml.css"?>
<example>
 <summary>
     This is an example of making up tags in XML, and applying a stylesheet so you can open the file in a browser.
 </summary>
 <main>
     <container>This is the stuff in the container</container>
 </main>
</example>
Run Code Online (Sandbox Code Playgroud)

样式.xml.css

summary {
    display:none;
}
main container {
    border:2px solid blue;
    background:yellow;
    color:blue;
}
Run Code Online (Sandbox Code Playgroud)