2012-04-30 57 views
0

我正在嘗試在Web瀏覽器上爲網頁注入字體樣式。重寫字體樣式 - 頁面的每個元素

更改頁面的每個元素。

* { 
font-size: 100%; 
font-family: Arial!important; 
} 

this question幾乎完成了這個伎倆,但是這種風格被覆蓋。我也想阻止這些覆蓋。使用JavaScript來解決方案也是可以的。

+1

試着收緊你的CSS規則,比如'html * {blah; (我不知道這是否適用於這種情況,這就是爲什麼這不是一個答案 - 但是,嘿,讓它去吧)。 – Marty

回答

2

添加!importantfont-size聲明,太:

* { 
font-size: 100% !important; 
font-family: Arial !important; 
} 

如果您在用戶樣式表使用這個(爲詞「試圖注入對網頁瀏覽器的網頁字體樣式」建議) ,那麼你的規則不能被覆蓋。

如果,另一方面,這只是一個作者樣式表的一部分,那麼可以由用戶樣式表覆蓋,並沒有什麼可以做的。它不會被瀏覽器默認樣式表覆蓋,因爲它們不使用!important。對於其他作者樣式表,級聯規則意味着除了使用!important的規則外,您不能被覆蓋。

在作者樣式表的規則,都具有!important之間的鬥爭,更具體的勝利,具有特異性正是由CSS規範定義。在同樣具體的設置之間,最新的設置獲勝。

的選擇*具有最低的特異性0,0,0,0。對於任何選擇器,您總是可以構建具有更高特異性的另一個選擇器。但是,元素的style屬性中的CSS規則被視爲具有最高特異性。

所以,如果你知道哪些其他的CSS規則將被使用,你可以通過在你的選擇列表中的較高的特異性增加選擇擊敗他們。

+0

非常翔實的答案。謝謝。 – pahan

+0

真棒迴應! –

5

如果它得到了覆蓋,確保它是在樣式表的最後一件事(或您包括最後一個樣式表)。 CSS中的「級聯」意味着最後的定義獲勝。

+0

你們倆都是對的。謝謝:) upvoted – pahan

相關問題