1

我正在尝试在排除某些标签的同时设置一些 html 的样式。例如,下面我有一个 html,它为 2 段不同字体的文本设置样式:

<span style="font-family: Tahoma, Arial, sans-serif">Test 1</span>
<span style="font-family: Verdana, Arial, Helvetica, sans-serif">Test 2</span>
<span style="font-family: Arial, Helvetica, sans-serif">Test 3</span>

我想将不是 Arial 字体的跨度样式覆盖为 Times New Roman,并且我尝试了以下 css:

span {
   font-family: "Times New Roman" !important;
   font-weight: normal !important;
   font-size: 12pt !important;
   font-size-adjust: none !important;
   font-stretch: normal !important;
   font-variant: normal !important;
   font-style: normal !important;
   background-color: white !important;
}

以上也改变了 Arial 文本的样式,我想排除正在设置样式的 Arial 文本。

注意css是用来对多个源html进行样式化的,而源html的样式中可以有更多的标签,定义了文本的大小、粗细等,所以样式标签的内容是不可预测的。

如何告诉 css 排除样式为 Arial 字体的标签。

我还在 Microsoft Word 中打开 html 以打印 html,因此这也需要使用 Word 工作。

4

1 回答 1

1

一般来说,没有简单的方法可以做到这一点,但如果 HTML 标记的使用非常一致,您可以使用以下规则设置样式表

*[style="font-family: Tahoma, Arial, sans-serif"],
*[style="font-family: Verdana, Arial, Helvetica, sans-serif"] {
   font-family: Times New Roman;
}

但是您写道“样式标签的内容是不可预测的”(显然是指style 属性)。如果真的是这样,答案是“不”。</p>

我想知道这背后的想法是什么。如果使用 Tahoma 或 Verdana 有任何意义,为什么 Times New Roman 会成为他们的合适替代品,而不是 Arial?在缺少名为 Tahoma 的字体的系统中会发生什么?他们应该买 Arial 还是 Times New Roman?

于 2012-11-16T16:53:16.983 回答