【问题标题】:Interpret <P> as <P.SERIF> in all paragraphs of a .Html file在 .Html 文件的所有段落中将 <P> 解释为 <P.SERIF>
【发布时间】:2022-01-20 18:36:10
【问题描述】:

我有一个定义段落类的 CSS 文件,它被命名为 p.serif
我有一个依赖于该 CSS 的 HTML 文件。对于单个段落,我可以设置&lt;p class="serif"&gt;,并且效果很好。但是我希望 html 中的所有 400 段看起来都像 p.serif 中定义的那样,而不需要将 &lt;p&gt; 更改为 &lt;p class="serif"&gt; 400 次。当然,我可以将P.Class的特征粘贴到html的头部为&lt;style&gt;,但是我有很多这样的html,我只是想告诉每个html:'P这里是p.serif中定义的,应用您在此 html 中看到的 每个 &lt;p&gt; 的 Serif 类。请问这怎么可能?

【问题讨论】:

    标签: html css css-selectors


    【解决方案1】:

    只需为 p 标记本身创建一个 CSS 规则,该规则与您的 .serif 类具有相同的设置。例如:

    p {
      font-family: /* whatever css settings .serif class contains */;
    } 
    

    【讨论】:

    • 是的,但是在这个例子中,浏览器只会将它自己的默认衬线字体应用到我的段落中。它不会检索我在 p.serif 中编写的所有定义
    • 正如我所写:只需在 p 的规则中使用 .serif 类中的设置。如果其中有带有特定字体的字体系列设置,请将其复制到 p 规则以及所有其他设置中。
    • 如果我的 Serif 类稳定且从未改变,这将是一个很好的选择。但是明天我决定改变我的 Serif 类的外观——然后我是否应该一次又一次地重做粘贴工作……我有 200 多个 html。我会接受给他们每个人添加一个命令,比如“P here is as described in P.SERIF in CSS, go to CSS and apply”。但是每次我改变它时都重复粘贴修改过的衬线样式?..恐怕很难做到。我希望链接是动态的,而不是绝对的。
    • 我不确定你所说的“200+ htmls”是什么意思——如果这些是一个网站的不同页面,应该有一个共同的样式表,如果你改变(或添加)规则p 标记在那里,应该足够所有页面(?)
    • 是的,我认为这确实可行。我从来没有做过这种事情,但这对我来说是一个挑战。非常感谢约翰内斯!
    【解决方案2】:

    HTML 没有将类添加到元素而不实际更改要更改的每个元素的类属性的机制。

    可以编写一些 JS 来遍历所有段落并修改它们的类列表,但是添加 style 元素的方法会更有效(并且如果添加段落也不会中断被动态添加到文档中)。

    【讨论】:

    • 是的,
    猜你喜欢
    • 1970-01-01
    • 2016-05-17
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多