CSS 是什麼?層疊樣式表入門與使用它的五個理由
又稱串接樣式表、級聯樣式表、階層式樣式表,用於描述 HTML 文件外觀和格式的樣式表語言。主要用以塑造網站的特殊風格,也就是用於控制網頁的視覺呈現。例如:這段文字要用一般的黑色或是改用紅色標明重點?某段重要內容應該置於畫面的何處?想用什麼背景圖片及顏色裝飾您的網站?
三劍客中的角色
| 技術 | 負責 |
|---|---|
| HTML | 網頁有什麼內容、結構與語意 |
| CSS | 這些內容長什麼樣子 |
| JavaScript | 使用者操作時會發生什麼事 |
css
h1 {
color: #c2410c;
font-size: 2rem;
}上面這段沒有任何運算,只是描述 符合這個條件的元素應該長成什麼樣子,這正是樣式表語言與程式語言最大的差別。
為什麼使用 CSS?
- 分離內容與樣式:CSS 將樣式與 HTML 結構分離,讓開發者可以更輕鬆地管理和維護網頁。早期的排版都是用 表格 來製作,因此,原始碼中便會參雜著要讓使用者觀看與排版相關的內容。也由於前面敘述的原因,原始碼複雜的難以維護。
- 除錯較容易:網頁的內容有問題就找 HTML,視覺的呈現有問題就找 CSS。
- 提升複用性、擴充性:一個 CSS 文件可以應用於多個 HTML 頁面,減少重複工作。甚至,能讓已使用的樣式擴充數種不同的樣式出來。
- 網頁的下載速度更快:呈上述,樣式與結構分離後,結構的檔案體積變小、樣式又提供給結構複用,這樣一來,下載的效率就變高。
- 改善用戶體驗:通過 CSS,可以創建更美觀且一致的網頁設計。
名稱中的 Cascading 是什麼
同一個元素常常同時被好幾條規則指定樣式,瀏覽器必須決定聽誰的。這個決定的過程就叫 層疊(Cascading),依序看三件事:
- 樣式的來源(瀏覽器預設、使用者、開發者)
- 選取器的 優先權
- 書寫順序,後面的覆蓋前面的
css
p { color: black; }
p { color: red; } /* 權重相同,後面的勝出 */另一個常一起出現的概念是 繼承:color、font-size 這類文字相關的屬性會自動傳給子元素,margin、border 則不會。
接下來學什麼
CSS 的學習資源
常見問題
CSS 是程式語言嗎?
不是。CSS 是樣式表語言,負責描述元素該長什麼樣子,沒有判斷與迴圈這類流程控制。它有變數與少量計算函式,但整體仍是一套描述規則,不是拿來寫邏輯的。
層疊是什麼意思?
同一個元素可能同時被好幾條規則指定樣式,瀏覽器會依來源、選取器權重 與書寫順序決定誰勝出,這個決定過程就是層疊。CSS 名稱中的第一個 C 指的正是這件事。
為什麼要把樣式和內容分開?
同一份樣式能被多個頁面共用,改版時只要動一個檔案;結構檔案也會變小、可以被瀏覽器分別快取。除錯時更容易定位:內容不對找 HTML,外觀不對找 CSS。