Warum hebt die CSS-Eigenschaft „font' die Fettschrift auf?
P粉662802882
2023-08-27 23:37:21
<p>Ich wurde gebeten, unnötige Tags aus einem computergenerierten HTML-Code zu entfernen, der viele nutzlose Tags enthält (ich möchte nur die Informationen zu Farbe/stark/em behalten). Ich bin auf etwas Ähnliches wie den folgenden HTML-Code gestoßen: </p>
<pre class="brush:html;toolbar:false;"><b>
<span style="FONT: 20pt "Arial"">
<strong>fett</strong> nicht fett <b>fett</b>
</span>
</b>
</pre>
<p>Bei mir (auf Chrome und Firefox) wird <code>bold</code>-Text als fett und <code>nicht fett</code>-Text als nicht fett angezeigt. Ich bin darüber verwirrt. Dies machte meine Aufgabe insbesondere komplizierter: Ich dachte, ich könnte einfach die Tags ohne Farb-/Stark-/EM-Informationen entfernen, also änderte ich sie wie folgt: </p>
<pre class="brush:html;toolbar:false;"><b>
<strong>fett</strong> nicht fett <strong>fett</strong>
</b>
</pre>
<p>Aber jetzt ist der gesamte Text fett gedruckt, anstatt wie zuvor.</p>
<p>Ich versuche herauszufinden, was ich in den Stil <code>FONT</code> einfügen kann, um dieses Verhalten zu reproduzieren: </p>
<p>Das Ersetzen von <code>Arial</code> durch <code>foo</code>
<pre class="brush:html;toolbar:false;"><b>
<span style="FONT: 20pt foo">
<strong>bold</strong> nicht fett <b>nicht fett <!-- nicht fett ist eigentlich nicht fett -->
</span>
</b>
</pre>
<p>Nach dem Ändern der Größe und Schriftart änderte sich das Verhalten: </p>
<pre class="brush:html;toolbar:false;"><b>
<span style="FONT: "Arial"
<strong>fett</strong> nicht fett <b>fett</b>
</span>
</b>
</pre>
<p>Keiner der beiden Werte hat irgendeine Auswirkung: </p>
<pre class="brush:html;toolbar:false;"><b>
<span style="FONT: "Arial"">
<strong>bold</strong> nicht fett <b>bold</b>
</span>
</b>
</pre>
<pre class="brush:html;toolbar:false;"><b>
<span style="FONT: 20pt">
<strong>bold</strong> nicht fett <b>bold</b>
</span>
</b>
</pre>
<p></p>
<p></p>
<p>Kann jemand dieses Verhalten erklären oder mir zumindest sagen, nach welchen Stilen ich suchen sollte, um die äußeren Stile zu unterdrücken? </p>
我想我找到了我问题的答案,在font css属性文档页面上。它说:
(我强调)
再往下一点:
所以设置
font: 20pt arial
等同于设置font-style: normal;font-variant: normal;font-weight: normal;font-stretch: normal;font-size: 20pt;line-height: normal;font-family: arial
特别是,
font-weight
从bold
(或其他值)重置为normal
。所以为了解决我根本问题,我应该寻找没有指定字重的
font
标签。P.S.
font: arial 20pt
没有这种行为的原因是因为这不是font
的允许值,所以它被忽略:而在
font: arial 20pt
中,字体族并不是最后一个指定的值。