我可以将标签包裹在 CSS 中的元素周围吗?

Can I wrap tags around an element in CSS?

例如,我可以将所有 <p> 元素包装在 <b> 标记中,这样 <p>Hello</p> 就好像是 <b><p>Hello</p></b> 一样呈现吗?

我试过像这样使用 ::before::after

p::before {
    content: "<b>";
}
p::after {
    content: "</b>";
}

但是标签被转义了。有什么办法可以做到这一点吗?

您可以简单地使用 font-weight 属性。使用 CSS.

无法添加这样的标签

示例:

p {
  font-weight: bold;
}

文档 here.

没有。这将是对 CSS 的误用。 CSS 不是为了改变标记而设计的,而是为了通过样式来增强它。如果你能按照你的建议去做,我们开发人员都将生活在地狱中。 您有一些选择:

选项 1

  • 将要加粗的内容包裹在容器中
  • 给那个容器一个 class
  • 写一个 CSS class 使该容器的内容加粗

例如 原文HTML

<html>
  <h1>My content<h1>
</html>

新建HTML

<html>
   <section class="bold">
      <h1>My content<h1>
   </section>
</html>
<style>
.bold {
  font-weight: bold
}
</style>

选项 2

  • 如果您无法更改标记
  • 找到 select 或 select 您想要的内容
  • 写一个 CSS class 使该容器的内容加粗
<html>
  <h1>My content<h1>
</html>
<style>
h1:first-of-type { 
  font-weight: bold
}
</style>

请注意 :first-of-type 的具体示例 select 或。