了解串接樣式表

 

關於串接樣式表

「串接樣式表」(Cascading Style Sheets, 簡稱 CSS) 是控制網頁內容外觀的格式規則集合。您可以使用 CSS 樣式來格式化頁面中所呈現的個別內容。網頁的內容 (HTML 程式碼) 存在於 HTML 檔案本身,而 CSS 規則在另一個檔案 (外部樣式表) 或是 HTML 文件的另一部分 (通常是 head 區段) 中定義程式碼的呈現方式。將內容從呈現的網頁中獨立出來可讓您透過集中位置輕鬆維護網站的外觀,而且每次當您需要進行變更,也不用一一更新每個頁面上的所有屬性。將內容從呈現的網頁中獨立出來同時也會產生比較簡單跟乾淨的 HTML 程式碼,不但可以縮短瀏覽器載入時間,還可幫助使用上有困難的人簡化瀏覽問題 (例如,需要藉助螢幕讀取器的人)。

CSS 可針對頁面所呈現的實際外觀,提供您相當大的彈性與掌控能力。有了 CSS,您可以控制許多文字屬性,包括特定字體與字體大小、粗體、斜體、劃底線,與文字陰影;文字顏色與背景顏色、連結顏色與連結底線等等。使用 CSS 來控制字體,也可以確保頁面的版面和外觀在多種瀏覽器中具有更為一致的處理方式。

除了文字格式以外,您還可以使用 CSS 控制網頁中區塊層級元素的格式和定位。區塊層級的元素是一種獨立的內容,在 HTML 頁面中通常以新行來區隔,而且會在視覺上格式化為區塊。例如, h1 標籤、p 標籤和 div 標籤都會在網頁上產生區塊層級元素。您可以為區塊層級元素設定邊界與邊框,將其定位在特定的位置,為其加上背景顏色,並在其周圍加上浮動文字等等。運用區塊層級元素是您配置 CSS 頁面時不可或缺的方式。

 

 

關於 CSS 規則

CSS 格式化規則包含兩大部分:選取器與宣告 (或者,在大部分情況中,使用包含許多宣告的區塊)。選取器是一種識別格式化元素的用語 (例如 ph1、類別名稱或 ID),而宣告區塊則會定義樣式屬性為何。在下列範例中,h1 是選取器,而在大括弧 ({}) 中的所有內容都是在宣告區塊中:

1
2
3
4
5
h1 {
font-size: 16 pixels;
font-family: Helvetica;
font-weight:bold;
}

個別宣告是由兩個部分構成:屬性 (例如 font-family) 和值 (例如 Helvetica)。在上述的 CSS 規則中,已經為 h1標籤建立特定樣式:所有連結到這個樣式的 h1 標籤,它們的文字大小將會是 16 像素,而且字體為粗體的 Helvetica。

樣式 (來自規則或一群規則的集合) 所在的位置與所要格式化的實際文字位置不同,通常會位於外部樣式表,或是位於 HTML 文件的 head 部分。因此,h1 標籤可以一次套用到許多標籤 (如果是外部樣式表,則規則可以一次套用到許多不同頁面上的許多標籤)。如此一來,CSS 將能提供非常簡便的更新功能。當您從某個位置更新 CSS 規則時,使用已定義樣式的所有元素,其格式都會自動更新為最新的格式。

CSS 檔案、網頁

您可以在 Dreamweaver 中定義下列樣式類型:

  • 「類別樣式」可讓您將樣式屬性套用至頁面上的任何或所有元素。

  • 「HTML 標籤樣式」會重新定義特定標籤的格式,例如 h1。當您建立或變更 h1 標籤的 CSS 樣式時,所有以 h1 標籤格式化的文字都會立即更新。

  • 「進階樣式」會為特定元素組合或其他 CSS 允許的選取器形式重新定義格式 (例如每當 h2 標題出現在表格儲存格內時,便會套用選取器 td h2)。進階樣式也會重新定義包含特定 id 屬性之標籤的格式 (例如,由 #myStyle 定義的樣式會套用至內含 id="myStyle" 屬性-值配對的所有標籤)。

CSS 規則可以存放在下列位置:

外部 CSS 樣式表:

CSS 規則的集合,儲存在不同的外部 CSS (.css) 檔案中 (並非 HTML 檔案)。該檔案使用文件 head 區段中的連結或是 @import 規則,連至一或多個網站的頁面。

內部 (或內嵌) CSS 樣式表:

CSS 規則的集合,其包括在 HTML 文件 head 部分的 style 標籤中。

行內樣式:

使用整份 HTML 文件內的特定標籤實體所定義 (不建議使用行內樣式)。

現有文件中定義的樣式只要能符合 CSS 樣式的方針,Dreamweaver 就能夠辨認。Dreamweaver 同時會將大部分已套用的樣式直接呈現在「設計」檢視中 (但是,使用瀏覽器視窗來預覽文件則能讓您最準確地「即時」呈現頁面)。有些 CSS 樣式在 Microsoft Internet Explorer、Netscape、Opera、Apple Safari 或其他瀏覽器中的呈現方式會有所不同,而且有些目前已沒有任何瀏覽器支援。

關於串接樣式

「串接」一詞是指瀏覽器將特定元素的樣式顯示在網頁上的最終樣貌。有三種不同的來源負責網頁上所顯示的樣式:頁面作者建立的樣式表、使用者的自訂樣式選取項目 (若有的話) 和瀏覽器本身的預設樣式。前一個主題說明網頁及樣式表 (附加至該頁面) 的作者如何建立網頁的樣式。但是瀏覽器也會有其本身規定網頁呈現方式的預設樣式表;除此之外,使用者還可以選擇調整網頁顯示的樣式來自訂他們自己的瀏覽器。網頁的最終外觀即是這三種來源的規則全部聯合起來 (或「串接」),以最佳方式呈現網頁所產生的結果。

常用標籤 - 段落標籤或 <p> 標籤 - 便示範說明了這個概念。依照預設,瀏覽器會為段落文字 (也就是,在 HTML 程式碼中位於 <p> 標籤之間的文字) 提供定義字體和字體大小的樣式表。例如,Internet Explorer 依預設會以 Times New Roman (Medium) 字體顯示所有的內文文字 (包括段落文字)。

但是,如果您是網頁的作者,則可以建立樣式表來覆寫瀏覽器段落字體及字體大小的預設樣式。例如,您可以在樣式表中建立下列規則:

1
2
3
4
p {
font-family: Arial;
font-size: small;
}

當使用者載入頁面時,您以作者身分所設定的段落字體及字體大小設定值,將覆寫瀏覽器的預設段落文字設定。

使用者可以選擇樣式,以最適合他們自己的使用方式來自訂瀏覽器顯示。例如在 Internet Explorer 中,如果使用者覺得字體太小,即可選取「檢視>字型>最大」,將頁面字體擴大到較易閱讀的大小。使用者選取的設定終究會覆寫段落字體大小的瀏覽器預設樣式以及網頁作者所建立的段落樣式 (至少在本例中是如此)。

繼承是「串接」的另一個重要部分。網頁上大部分元素的屬性都是由繼承而來;例如,段落標籤會繼承 body 標籤的特定屬性,span 標籤會繼承段落標籤的特定屬性,依此類推。因此,如果在樣式表中建立下列規則,則:

1
2
3
4
body {
font-family: Arial;
font-style: italic;
}

網頁上的所有段落文字 (以及繼承段落標籤之屬性的文字) 將會是 Arial 和斜體,這是因為段落標籤從 body 標籤繼承了這些屬性。但是您可以更具體地設定規則,並建立會覆寫標準繼承常規的樣式。例如,在樣式表中建立下列規則:

1
2
3
4
5
6
7
8
body {
font-family: Arial;
font-style: italic;
}
p {
font-family: Courier;
font-style: normal;
}

除了 段落 (以及其繼承的) 文字以 Courier 標準 (非斜體) 顯示外,所有的內文文字都是 Arial 和斜體。技術上來說,段落標籤首先會繼承針對 body 標籤設定的屬性,但是接著會忽略這些屬性,因為這個標籤有它自己定義的屬性。換言之,當頁面元素概括繼承上述的屬性時,標籤屬性的直系應用程式總是會讓繼承的標準常規形同虛設。

綜合以上討論的所有因素,再加上其他像是 CSS 明確性 (一種對特定 CSS 規則指定不同權重的方法) 和 CSS 規則順序等因素,最後便會建立複雜的串接,其中具有較高優先權的項目會覆寫具有較低優先權的屬性。如需有關影響串接、繼承和明確性之規則的詳細資訊,請至 www.w3.org/TR/CSS2/cascade.html

關於文字格式化與 CSS

根據預設,Dreamweaver 會使用「串接樣式表」(CSS) 來格式化文字。您使用「屬性」檢視窗或選單命令來套用至文字的樣式,會建立嵌入至目前文件檔頭的 CSS 規則。

您也可以使用 CSS 設計工具建立與編輯 CSS 規則和屬性。CSS 設計工具是比「屬性」檢視窗更加穩定的編輯器,可以顯示所有為目前文件定義的 CSS 規則 (不論這些規則內嵌於文件檔頭或外部樣式表中)。Adobe 建議您使用 CSS 設計工具代替「屬性」檢視窗做為建立和編輯 CSS 的主要工具。如此,您的程式碼將會更加乾淨,並且更容易維護。

如需 CSS 設計工具的詳細資訊,請參閱「使用 CSS 設計工具配置頁面」。

除了建立的樣式和樣式表之外,您還可以使用 Dreamweaver 所附的樣式表,將樣式套用到文件。

如需使用 CSS 格式化文字的教學課程,請參閱 www.adobe.com/go/vid0153_tw

關於速記 CSS 屬性

CSS 規格允許使用已知的速記 CSS 縮寫語法建立樣式。速記 CSS 能讓您使用單一宣告指定幾種屬性的值。例如,font屬性讓您可以在同一行設定 font-stylefont-variantfont-weightfont-size、 line-height,以及 font-family 屬性。

當使用速記 CSS 時要注意的關鍵問題是,速記 CSS 屬性忽略的值會指定為其預設值。當兩個或更多 CSS 規則指定到相同的標籤時,這可能會造成頁面顯示不正確。

例如,下列顯示的 h1 標籤使用普通書寫的 CSS 語法。請注意 font-variantfont-stretchfont-size-adjust 和 font-style 屬性已指定為其預設值。

1
2
3
4
5
6
7
8
9
10
h1 {
font-weight: bold;
font-size: 16pt;
line-height: 18pt;
font-family: Arial;
font-variant: normal;
font-style: normal;
font-stretch: normal;
font-size-adjust: none
}

重新撰寫為單一語法,速記屬性,相同的規則可能會以下列方式呈現:

1
h1 { font: bold 16pt/18pt Arial }

當使用速記標記法撰寫時,忽略的值會自動指定為其預設值。因此,上述的速記範例忽略了 font-variantfont-stylefont-stretch 和 font-size-adjust 標籤。

如果您同時使用 CSS 語法的縮寫與完整語法,在一個以上的位置定義樣式 (例如,同時內嵌在 HTML 頁面並從外部樣式表匯入),請注意忽略的速記規則屬性可能會覆寫 (或「重疊顯示」) 在另一個規則中明確設定的屬性。

基於此原因,Dreamweaver 預設使用普通書寫形式的 CSS 標記法。這樣可避免速記規則覆寫普通書寫規則可能造成的問題。如果您在 Dreamweaver 中開啟使用速記 CSS 標記法編碼的網頁,請注意 Dreamweaver 將會使用普通書寫形式建立任何新增 CSS 規則。您可以藉由變更「偏好設定」對話方塊的「CSS 樣式」類別中之 CSS 編輯偏好設定,指定 Dreamweaver 要如何建立與編輯 CSS 規則 (在 Windows 中選取「編輯 > 偏好設定」,在 Macintosh 中則選取「Dreamweaver > 偏好設定」)。

文章來源:https://helpx.adobe.com/tw/dreamweaver/using/cascading-style-sheets.html

 

© 2024 JoyCat.org 版權所有.