假設我有一個簡單的、無樣式的 HTML 文檔 - 如下所示:<h2>Hello world</h2><p><b>This</b> is <i>my</i> code example: <code>code_example.is_here("!")</code>在 Firefox 上,這呈現(xiàn)為:因此,F(xiàn)irefox 選擇了一些襯線字體(Firefox Inspector 告訴我它是“DejaVu Serif”)作為默認文本字體 - 但選擇了另一種字體,打字機/等寬字體用于格式化(Firefox Inspector 告訴我它是“DejaVu Sans” <code>)單核細胞增多癥”)?,F(xiàn)在,我想做的是在整個頁面中使用不同的字體覆蓋默認文本字體,如下所示:@font-face { font-family: "Comfortaa"; /* src: url("../path/to/comfortaa.ttf") format("truetype"); // not using src here, as we load via fonts.googleapis.com for SO code snippet */}html *{ font-family: Comfortaa !important;}<link href="https://fonts.googleapis.com/css?family=Comfortaa" rel="stylesheet"><h2>Hello world</h2><p><b>This</b> is <i>my</i> code example: <code>code_example.is_here("!")</code>...在 Firefox 中呈現(xiàn)如下:...但是,正如您所看到的,該覆蓋也覆蓋了<code>.所以,我想做的是,僅覆蓋默認文本(最初是襯線字體) - 但保留按原樣使用的字體<code>。我怎樣才能用 CSS 做到這一點?編輯:按照我制定的方式,解決方案可能只是覆蓋該<p>元素;但假設一般情況下 HTML 標記中可能直接存在“野生”文本<body>。也<code>可能顯示為 的子級<p>,但也可能是 的直接子級<body>。
1 回答

眼眸繁星
TA貢獻1873條經(jīng)驗 獲得超9個贊
用于:not()排除code元素(和pre,如下面的評論中所述)
:not()您還可以通過鏈接偽類來排除多個特定標記名稱
html *:not(code):not(pre) {
font-family: Arial
}
<p>This font is in Arial</p>
<code>Code is not in Arial</code>
<pre>Pre is not in Arial</pre>
- 1 回答
- 0 關注
- 137 瀏覽
添加回答
舉報
0/150
提交
取消