CSS 为何支持伪元素?
作为一名前端开发者,您应该熟悉 CSS 伪元素,包括它们的功能以及各种呈现和结构化应用。基本的 CSS 选择器及其众多属性使用起来很有趣,但理解伪类和伪元素是成为 CSS 专家的下一步。
除了 CSS 伪元素之外,还有一些 HTML 元素通常被称为伪元素。CSS 有时会使用它们来简化操作,并允许开发者在网页中创建自定义元素。但是,它们并非标准化的,因此无法在全球范围内使用。
在本文中,我们将讨论 CSS 为何支持伪元素?本文首先解释什么是伪元素、我们为什么使用它们、它们的工作原理以及伪元素的许多其他基本方面。
什么是伪元素?
未在 HTML 文档中定义的 HTML 元素称为伪元素。创建伪组件是可行的。您可以为元素指定任意名称,但不建议这样做。HTML 允许开发者在网页中使用自定义元素。该元素将在您的页面中流畅运行。
示例
请参考以下示例,了解如何在 HTML 文档中使用 Fake 元素。
<!DOCTYPE html>
<html>
<head>
<title> Fake Elements </title>
<style>
*{
background-color: grey;
margin: 5px;
letter-spacing: 1px;
}
.para{
font-family: cursive;
}
</style>
</head>
<body>
<section>
<heading> Programming Languages </heading>
<p class= "para"> To communicate with computers, programmers (developers) use a programming language, which is a computer language. It is a set of instructions written in a specific language (such as C, C++, Java, or Python), built to do a certain task. </p>
<example> Some of the most popular programming languages are: </example> <br>
<p>
<ol>
<li> <h1> C/C++ </h1> </li>
<li> <h1> Java </h1> </li>
<li id= "demo"> <h1> Python </h1> </li>
<li> <h1> JavaScript </h1> </li>
<li> <h1> PHP </h1> </li>
</ol>
</p>
</section>
</body>
</html>
如上例所示,我们使用了自定义元素,例如 <heading> 和 <example>。代码运行流畅,文本也显示出来。但是,我们必须相应地设置样式。例如,如果我们使用 HTML 识别的元素 (h1) 而不是 <heading>,文本将自动具有更大的字体大小。要对伪元素执行此操作,我们必须使用 CSS 指定字体大小。
示例
在此示例中,我们为伪元素 <heading> 和 <example> 声明了某些 CSS 属性。
<!DOCTYPE html>
<html>
<head>
<title> Fake Elements </title>
<style>
*{
background-color: yellow;
margin: 5px;
letter-spacing: 1px;
}
heading{
color: black;
text-decoration: underline;
text-shadow: 4px 4px 4px grey;
font-size: 28px;
}
.para{
font-family: cursive;
}
example{
color: red;
font-weight: 900;
}
</style>
</head>
<body>
<section>
<heading> <h1 class= "head"> Programming Languages </h1> </heading>
<p class= "para"> Programmers (developers) utilise a programming language, which is a computer language, to communicate with computers. It is a set of guidelines created in any particular language (C, C++, Java, Python), developed to carry out a certain task. </p>
<example> Some of the most popular programming languages are: </example> <br>
<p>
<ol>
<li> <h1> C/C++ </h1> </li>
<li> <h1> Java </h1> </li>
<li id= "demo"> <h1> Python </h1> </li>
<li> <h1> JavaScript </h1> </li>
<li> <h1> PHP </h1> </li>
</ol>
</p>
</section>
</body>
</html>
我们已为伪元素添加了 CSS 样式。代码执行流畅,样式也没有任何问题。问题是,这些伪元素如何在 HTML 文档中工作?
答案是:随着 HTML 功能的不断改进,大多数现代浏览器都已兼容其功能中的许多更改或新增功能。因此,无法识别的元素会被直接解析到 DOM 树中。但是,它们不会呈现任何功能或特性。
为什么我们不应该使用伪元素?
尽管伪元素在网页中可以正常工作,但强烈建议不要在 HTML 文档中使用伪元素。以下是一些我们不应该使用伪元素的原因:
HTML 规范不支持和识别这些伪元素。
这些元素没有指定的功能。例如 <header> 中的文本由于伪元素具有预定义的字体大小,因此无法提供此类功能。
它们可能会妨碍未来与伪元素同名的标准元素(如果开发)的功能。
随着 HTML 版本的快速修改,DOM 中可能存在最适合该特定功能的特定标准元素。
这些标签可能会在不同的浏览器中导致兼容性问题。此外,浏览器渲染标准元素的速度更快。因此,您的网页将运行流畅。
标准 HTML 元素具有多种优势,例如 SEO(搜索引擎优化)和速度。它们受到 Google 等流行浏览器的青睐。
使用伪元素显得缺乏专业性(对某些开发人员而言)。标准元素易于维护。此外,它还允许进一步修改(如果需要)。
使用标准 HTML 元素将使调试更容易。这是因为标准元素易于被调试工具访问。
结论
您可以在 HTML 文档中创建自定义元素。但是,它们不具备任何附加的语义或功能。此外,这些元素无法被所有开发人员全局理解或使用。因此,最好使用标准 HTML 元素,它比伪造元素具有多种优势。
相关文章
有用资源
css 参考教程 - 该教程包含有关 css 的更多信息:https://www.cainiaomax.com/css/

