为什么CSS可以使用伪元素
作为前端开发者,您应该熟悉CSS伪元素,包括它们的功能以及各种展示和结构应用。基本的CSS选择器及其众多属性令人愉悦,但理解伪类和伪元素是成为CSS专家的下一步。
除了CSS伪元素,还有一些HTML元素通常被称为伪元素。它们有时候被CSS使用,以便方便处理并允许开发人员在网页中创建自定义元素。然而,它们没有标准化,因此不能在全局范围内使用。
在本文中,我们将讨论为什么CSS可以使用伪元素?文章首先解释了什么是伪元素,为什么我们使用它们,它们如何工作以及伪元素的许多其他基本方面。
什么是伪元素
在HTML文档中未定义的HTML元素被称为伪元素。可以创建虚伪元素。您可以为元素选择任何名称,但不建议这样做。HTML允许开发人员在网页中使用自定义元素。该元素将在您的页面中平稳运行。
示例
请查看以下示例,了解我们如何在HTML文档中使用伪元素。
<!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元素,这样可以获得比伪元素更多的优势。