在我们学习HTML的过程中,可能会遇到这样一个小困惑:假如我们想在网页上直接展示<p>是一个段落标签这句话,能不能直接把它写进HTML代码里呢?比如说,我们是不是可以直接在代码里敲下<p>是一个段落标签?
这个问题看起来简单,其实背后藏着HTML解析的一个小秘密。
|<!-- 这样做是错误的! --> <p>在HTML中,<p>是一个段落标签。</p>
如果你尝试这样做,浏览器会把里面的<p>误解为一个真正的标签,而不是你想要显示的文本,从而导致页面布局错乱。
那么,我们该如何告诉浏览器:“嘿,我这里只是想让你显示一个小于号,而不是要开始一个新标签”呢?
答案就是使用 HTML实体 (HTML Entities)。

HTML实体是一小段特殊的代码,它代表了一个特定的字符。当浏览器在解析HTML时遇到这些实体代码,它不会把它当作代码执行,而是会把它转换回原始的字符并显示出来。
你可以把它想象成一张“特殊通行证”。当某个字符因为在HTML世界里有特殊身份(比如<, >)而无法直接“通行”时,我们就给它办一张通行证,让它能顺利地显示在旅客(用户)面前。
所有的HTML实体都以一个与号 & 开始,并以一个分号 ; 结束。
虽然存在大量的HTML实体,但在日常开发中,你只需要记住几个最关键的即可。我将它们整理成了一个表格,方便你查阅和记忆。
现在,我们就可以正确地写出我们开头的那个句子了:
|<p>在HTML中,<p>是一个段落标签。</p>
浏览器看到<和>后,就会心领神会地将它们转换为<和>显示出来,而不会把<p>当作一个标签来处理。
你可能注意到了表格里的 (non-breaking space)。这个实体非常有用。
在HTML中,无论你在代码里输入多少个连续的空格,浏览器在显示时通常都会将它们合并成一个,这是由于HTML解析器的设计决定的。但有时,你确实需要多个空格,或者你希望某些词语之间即使在行尾也不要被断开。
例如,你想显示 100 km,并确保 100 和 km 不会因为换行而被分割到两行。
|<!-- 这样写,"100"和"km"可能会在换行时被分开 --> <p>速度是 100 km / h</p> <!-- 使用 ,可以确保它们俩“不离不弃” --> <p>速度是 100 km / h</p>
就像是强力胶水,它会把两边的文字或元素“粘”在一起,不允许浏览器在此处断开换行。你也可以连续使用多个 来在页面上创建出连续的空格效果。
掌握了HTML实体,你就拥有了在网页上精确显示任何文本内容的控制力,你的代码也会因此变得更加专业。这是你技能库里一个虽小但不可或缺的工具。