Internet Explorer/新增使用者樣式
tyles 可以使用所謂的 *使用者樣式表* 新增到一些瀏覽器,微軟 Internet Explorer 已經允許新增它們多年。儘管有很長的時間,但是關於這方面的幫助檔案卻很少新增。雖然筆記展示瞭如何 *新增* 使用者樣式表,但沒有 *提供* 供使用者使用的樣式表。到現在,應該有一個非常龐大的使用者可用的輔助功能和其他使用者樣式表列表。可惜,事實並非如此。考慮到這一點,這些筆記解釋了涉及的內容,並列出了一個用於自定義使用者檢視的初始樣式表。
CSS 樣式級聯
網頁由文字組成,但也包含稱為 *元素標籤* 或 *標籤* 的標記,以告知瀏覽器網頁的每個部分如何進行樣式設定。瀏覽器遍歷所有這些標籤並使用它們查詢可能適用於它們的樣式。典型的標籤包括例如每個段落的段落標籤 <p>,用於建立框形狀的 div 標籤 <div>,甚至用於表格的標籤 <tables>。每個網頁上有數百個標籤,作者可以使用數十種不同的型別。
用於格式化頁面元素的樣式可以從幾個地方找到。它們包括 HTML 文件本身內的樣式以及各種樣式表中的樣式;瀏覽器的預設樣式和其他選項設定也可能適用。有時,這些來源似乎存在於一個簡單的層次結構中,但是,很快就會發現,一個更復雜的安排適用。請參見旁邊的圖形,它描繪了級聯在實際情況中的應用方式。級聯的作用是解決各種衝突的樣式宣告,直到可以為特定標籤確定格式。當用戶打算從其 *自己的* 樣式表應用樣式時,有時會發現已應用了不同的樣式。在這種情況下,他將需要比平時多瞭解一些知識才能解決問題。
| 圖 1. CSS 樣式級聯。請注意,使用者樣式宣告具有最高優先順序,前提是它們帶有 !Important 標記。 |
決策過程將樣式來源分組為三個主要類別或 *來源*;作者樣式宣告、使用者宣告和預設樣式宣告。作者宣告反過來由內聯樣式、文件頭部樣式和連結樣式表組成。自從 CSS2 以來,使用者一直能夠為其自己的樣式表宣告獲得最高優先順序,方法是使用 **!Important** 關鍵字,並且此標記的引入伴隨著其優先順序的重新排列。目前的主要分組只是
- **使用者的 !Important 樣式宣告**。這些樣式表示式包含所有帶有 !Important 關鍵字的使用者樣式表條目。
- **作者的 !Important 樣式宣告**。作者可歸因的三個樣式來源最初被視為一個單獨的組。它們是:內聯樣式、文件頭部樣式和連結樣式表。同樣,此集合僅包含添加了 !Important 關鍵字的那些宣告。
- **作者的普通樣式宣告**。作者集合中沒有 !Important 標記的那些宣告。
- **使用者的普通樣式宣告**。使用者樣式表中沒有 !Important 標記的那些宣告。
- **瀏覽器預設樣式**。<a rel="nofollow" class="external text" href="http://www.iecss.com/">使用者代理 (UA) 樣式表 <sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> 和瀏覽器的可選預設設定。
在上述層次結構中,帶有 !Important 關鍵字標記的使用者樣式具有最高優先順序,並且只有在使用者樣式表忽略了建立適當的樣式條目或忽略將其標記為 !Important 時,樣式選擇才會恢復到較低級別。類似的推理適用於所有級別,對於每個標籤的樣式。在決定應用哪些樣式時,瀏覽器還會考慮每個宣告的 *特異性*。特異性是指宣告可以被認為直接適用於特定標籤的程度。在每個主要級別內,瀏覽器按特異性對樣式進行排序,為每個樣式分配一個數值以決定哪些樣式具有優先順序。更具體的樣式優先於更通用的樣式。數字越大,特異性及其優先順序就越高。在給定級別內,具有最高特異性的樣式代表它在級聯層次結構中,但是單獨具有更高的特異性並不能允許樣式 *超越* 其級別來強制執行其樣式。
在決定特異性時,瀏覽器會考慮適用於樣式宣告的幾個因素;也就是說,定義樣式的樣式表條目;它計算 id、類、標籤、偽類、屬性和偽元素。另一種看待 !Important 標記的方法是將其視為一個非常高的特異性值,這個值比其他值高出十倍。關於特異性和級聯的詳細描述可以在 <a rel="nofollow" class="external text" href="http://www.w3.org/TR/CSS2/cascade.html">W3: 級聯</a> <sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> 中找到,並且在以下部分中還給出了一個簡單的用於估計特異性的方法,以及實際示例。
還有一個需要解釋的要點。使用者為瀏覽器設定選項的方式會修改級聯的工作方式;例如,使用者可以選擇完全忽略某些作者樣式。由於使用者樣式表在級聯中具有較低的優先順序,因此會有很多次使用者樣式無法自行斷言。(參見旁邊的圖形)。為了克服這種情況(對於字型),瀏覽器選項允許使用者人為地覆蓋一些作者的樣式設定。
即使不建立使用者樣式表,也有一些作者樣式可以透過瀏覽器選項中的設定進行更改。請注意, *由作者給出的* 樣式是 *內聯* 樣式、 *頭部* 樣式和 *連結的外部樣式表*。並非所有樣式都可以被覆蓋,但一些非常基本的樣式可以被覆蓋。這些是
- 作者的頁面顏色。選擇此項將刪除所有作者的頁面顏色,*包括* 字型顏色。
- 作者的字型樣式。選擇此項將刪除所有作者的字體系列選擇。
- 作者的字型大小。選擇此項將刪除所有作者的字型大小選擇,包括絕對大小和相對大小。
可以根據使用者的意圖選擇或取消選擇上述列表中的每個專案或所有專案,並且也可以與使用者樣式表結合使用。要設定覆蓋功能,請執行以下操作
- 開啟 *工具 > Internet 選項* 對話方塊。
- 在 *常規* 選項卡上,選擇 *輔助功能*。
- 在 *格式* 部分,選擇或取消選擇必要的複選框。
- 決定是要使用使用者樣式表還是瀏覽器的預設樣式來替換被覆蓋的樣式,並相應地選擇或取消選擇標記為 *使用我的樣式表格式化文件* 的框。如果未選擇使用者樣式表,則預設顏色、字型和大小將替換它們,否則將考慮使用者樣式表。
樣式表本質上是一個文字檔案。它與眾不同的地方在於它的檔案字尾不同。它不是以 *。txt* 結尾,而是以 *。css* 結尾,縮寫為 *層疊樣式表*。與其他文字檔案一樣,它是在文字編輯器中建立的,例如 *記事本*、 *寫字板* 或任何其他純文字編輯器。網際網路上提供了一些免費的文字編輯器,它們也可以幫助您編寫 css 程式碼,這些編輯器很有用,但是,此說明假設最簡單的情況。
假設在最簡單的情況下,記事本用於手動編寫樣式表。開啟 *記事本*,然後執行以下操作
- 選擇記事本 *檔案* 選單的 *另存為* 條目。*另存為* 對話方塊將開啟。
- 如有必要,將目錄更改為您的 *文件* 資料夾。
- 在 *另存為* 對話方塊中,將 *儲存型別:* 選擇器更改為 *所有檔案 (*.*)*。
- 在 *檔名* 文字框中,鍵入您的檔名,並在末尾加上 .css。例如,Mystyles.css。
- 按 *儲存*。
樣式表目前還沒有任何條目,但可以隨時透過在記事本中開啟檔案對其進行編輯。
- 開啟 Windows 資源管理器
- 找到 CSS 檔案
- 右鍵單擊檔案。
- 選擇使用...開啟,然後選擇記事本。(如有必要,請瀏覽查詢。)
- 檔案將開啟以供使用。
為樣式表命名後,可以將其新增到樣式級聯中。樣式表需要透過複選框啟用才能生效,因此可以安裝並保留樣式表,但不要選中複選框。請按以下步驟操作。
- 開啟 *工具 > Internet 選項* 對話方塊。
- 在 *常規* 選項卡上,選擇 *輔助功能*。
- 在使用者樣式表部分,選中標記為使用我的樣式表格式化文件的複選框。
- 按瀏覽,然後找到您的樣式表。
- 左鍵單擊您的檔案,然後按開啟以安裝它。
- 如果您現在不打算使用樣式表,請取消選中標記為使用我的樣式表格式化文件的複選框。
如果取消選中,樣式表地址將保留在原位,以便在需要時使用。
- 在檢視新安裝的樣式表或對現有樣式表的更改的效果之前,必須重新啟動瀏覽器。
樣式宣告是屬性及其值的集合。例如,以下段落的樣式規則包含幾個單獨的部分,共同描述了它的格式。
p { font-family: Arial; font-size: 2em; line-height: 1.5em; padding: 0.5em;}
它包含四個樣式規則。分別是字型的樣式、字型大小、行間距和段落的四周填充,按照此順序排列。需要注意一些基本要點。
- 樣式以要設定樣式的標籤的文字(不包括其括號)開頭。此文字稱為選擇器,因為瀏覽器使用此條目從樣式表中選擇正確的樣式。檢視此網頁的原始碼將顯示它包含的許多標籤和選擇器。(選擇檢視 > 原始碼,然後根據需要最小化視窗,以找到此後面的原始碼螢幕。)
- 以上程式碼可用於格式化網頁正文內容中的段落。但是,如果段落標籤在網頁上的其他標籤(例如在<div>內)中巢狀,則此宣告將被忽略。樣式將需要新增一個術語以允許巢狀。
- 請注意,在示例中,每個規則都包含一個 CSS 屬性及其值,並用冒號分隔。規則之間用分號分隔,如果需要,可以在末尾新增一個額外的分號。整個表示式用花括號括起來。通常允許使用空格,但在冒號或分號之前不允許使用空格。
- 如果將以上文字(不含!Important修飾符)鍵入使用者的 CSS 檔案,然後儲存,它將作為一個基本的樣式表發揮作用,並且在瀏覽器重新啟動後,可能會生成大約 32 畫素高的文字。但是,如果比使用者指定的優先順序更高的來源也指定了段落,那麼使用者的專案將被覆蓋,並且不會生效。類似的思路適用於整個樣式宣告主題。
- 請參閱下一部分中的實際樣式表,以瞭解!修改規則的示例,以及下面的下拉框,以瞭解樣式表術語和特異性估計的介紹。
下面介紹了樣式表術語;這裡關注的是樣式表中找到的選擇器型別。其他資料包括一個關於特異性估計的面板,以及一個示例,展示了級聯在解析樣式方面的互動作用。
|
|
|
| 典型的樣式塊的 CSS 術語。 |
基本樣式表
[edit | edit source]一些 CSS 新手可能需要更長的時間才能從他們的使用者樣式表中獲得結果,因此下面列出了一個基本樣式表,以幫助使用者入門。然後,工作就簡化為根據需要向現有程式碼中新增樣式。
此樣式表除了將頁面縮減為純白色背景上的黑色大文字之外,沒有其他作用,儘管文字大小比僅從瀏覽器的文字大小設定中獲得的文字大小更大。(忽略頁面縮放)。目前尚不清楚這樣的頁面是否有觀看用途,但該示例確實有助於演示!Important-override 原理的工作原理。將以下程式碼貼上到您的使用者樣式表中:
/* 頁面主體的一般樣式 */
body {font-size:100% !important;}
/* 每個元素的樣式 */
* {
font-color: black !important;
background-color:white !important;
font-size:30px !important;
font-family:Tahoma, Sans-serif !important;
line-height:1.8em !important;
font-weight:normal !important;
font-style:normal !important;
word-spacing:12px !important;
character-spacing:3px !important;
text-decoration:none !important;
text-align:left !important;
}
/* 粗體部分的樣式 */
b, strong, em, h1, h2, h3, h4, h5, h6
{
font-weight: bold !important;
}
當文字貼上到您安裝的樣式表中時
- 開啟 *工具 > Internet 選項* 對話方塊。
- 在 *常規* 選項卡上,選擇 *輔助功能*。
- 在格式部分,清除三個框。
- 在使用者樣式表部分,選中標記為使用我的樣式表格式化文件的框。
- 關閉Internet 選項對話方塊和瀏覽器,然後重新開啟它。
訪問網頁(例如,此頁面),檢視使用者樣式表的效果。在進行任何比較之前,請確保將瀏覽器的縮放和文字大小重置為其名義位置。儘管某些樣式表的更改無需重新啟動瀏覽器即可看到,但並非所有更改都會在重新啟動之前生效。忽略這一點會導致很大的混亂。
樣式屬性和值很容易更改以獲得不同的結果。對於那些不熟悉樣式和樣式表的人,建議讀者充分利用網際網路上的教程來學習。作者經常參考的一個詳盡的參考資料是 W3 CSS 參考,並且可以在 字型測試器 中找到一個簡單、互動式的線上程式碼測試器。隨著時間的推移,更多有用的資源將被新增到此頁面的另請參閱部分。
| 由於 MS Windows 和 MS Office 產品都使用 Internet Explorer 來顯示其幫助面板,您可能會發現需要在實驗會話之間刪除使用者樣式表的勾選標記。 | |
| 技術說明 |
參考
[edit | edit source]另請參閱
[edit | edit source]- 瀏覽器字型設定 : 關於瀏覽器字型設定的討論。
- 字型測試器 : 一個免費使用的互動式 CSS 程式碼編寫器和檢視器,主要用於文字。
- 字型 : 來自維基百科的關於字型的詳細頁面
- W3 CSS 參考 : 全球資訊網聯盟的 CSS 參考頁面
- Internet Explorer 8 使用者樣式表 : 來自微軟的一篇簡短文章。
- 使用使用者樣式表自定義 Firefox : Mozilla(Firefox)瀏覽器的使用者 CSS 說明
- 查詢 Firefox 配置檔案資料夾 : 如何找到 Firefox 配置檔案資料夾 - 手動安裝 css 檔案的位置
- Opera - 使用者 CSS : Opera 瀏覽器的使用者 CSS 說明
