搜尋

認識 CSS

CSS ( Cascading Style Sheets ) 是一種用於網頁設計的樣式語言,可以控制網頁的外觀和版面,讓網頁呈現出美觀且結構清晰的效果,這篇教學裡將會探討什麼是 CSS、相關發展歷程、特色以及對響應式設計的影響。最後還會用一個簡單的範例,實際撰寫第一支 CSS 程式。

快速導覽:

CSS 教學 - 認識 CSS

CSS 是什麼?

CSS 是 Cascading Style Sheets 的縮寫,又稱作層疊樣式表、階層式樣式表,是一種用於「控制網頁外觀和佈局的樣式表語言」,透過 CSS,可以控制網頁的字體、顏色、邊框、背景等設計風格,並且將樣式套用到網頁的不同元素,進而精準控制網頁的視覺呈現,使網頁更具吸引力和互動性。

雖然 CSS 扮演著網頁視覺風格和排版的重要角色,但 CSS 無法獨立使用,必須與 HTML 搭配,才能發揮最大的功能。

CSS 教學 - 認識 CSS - CSS 是什麼?

CSS 的發展歷程、版本演進

CSS 的發展歷程可以追溯到 1994 年,由哈肯·維姆·萊 ( Håkon Wium Lie ) 提出了 CSS 的最初規劃,雖然當時已經有一些樣式表語言的架構,但 CSS 是第一個含有「層疊」概念的樣式語言,隨著時間的推移,CSS 不斷發展並推出了多個版本,以下是 CSS 的版本演進:

  • CSS1 ( 1996 ):CSS 的第一個正式版本,定義了基本的樣式屬性和選擇器,能夠對網頁進行基本的樣式設定。
  • CSS2 ( 1998 ):進一步擴展樣式的功能,支援更多的版面設計技巧,並加入了更多的屬性、選擇器和媒體查詢 ( Media Queries ) 概念,使網頁能夠根據不同的輸出設備進行適應性調整。
  • CSS3 ( 2001 年至今 ):目前最新的 CSS 版本,進一步擴展樣式的功能和選擇器的範圍,引入許多新的模塊,如彈性盒子 ( Flexbox )、方格布局 ( Grid Layout )、動畫 ( Animation ) 等,使得網頁設計更加靈活和豐富
  • CSS4 ( 開發中 ):尚未正式推出,預計將繼續擴展 CSS 的功能和選擇器,並加強對響應式設計的支援。

CSS 教學 - 認識 CSS - CSS 的發展歷程、版本演進

CSS 和 HTML、JavaScript 的關係

CSS、HTML 和 JavaScript 是網頁開發的三大核心技術,各自負責不同的任務,並相互協作以實現完整的網頁功能:

  • HTML:負責「定義網頁的結構和內容」,使用標籤來描述網頁中的不同元素,可想像成靜止的「全裸人體」。
  • CSS:負責「控制網頁的外觀和版面」,使用選擇器和屬性來定義 HTML 裡元素的樣式,如顏色、字體、邊框等,可想像成替全裸的人體加上「膚色、髮色、化妝、衣物...等」裝扮。
  • JavaScript:負責「實現網頁的動態效果和互動性」,透過操作 HTML 和 CSS,實現網頁的互動功能或改變網頁元素的外觀和行為,可想像成賦予人體「認知、社交、互動」等能力。

CSS 教學 - 認識 CSS - CSS 和 HTML、JavaScript 的關係

CSS 的特色

CSS 有下列幾個特色:

  • 分離性:CSS 可以將網頁的樣式和內容分離,使得網頁設計更加模組化和可維護。
  • 階層性:CSS 使用層疊樣式表的概念,允許開發者為不同的元素定義不同的樣式,並透過嵌套和繼承的方式來控制樣式的層級。
  • 可重用性:CSS 提供樣式的重用機制,可以將相同的樣式套用到多個元素上,減少程式碼的重複性。
  • 靈活性:CSS 提供豐富的樣式屬性和選擇器,可以實現各種不同的設計效果。

CSS 對於響應式設計的影響

響應式設計是一種能夠「適應不同設備和螢幕尺寸」的網頁設計方法。CSS 在響應式設計中有著非常著重要的作用,透過媒體查詢 ( Media Queries ) 和彈性佈局 ( Flexbox ) 等技術,就能根據不同的設備和螢幕尺寸,自動調整網頁的外觀和排版,以提供更好的用戶體驗。

CSS 教學 - 認識 CSS - CSS 對於響應式設計的影響

瀏覽器對 CSS 支援度

大多數現代瀏覽器 ( Chrome、Safari、Edge、Firefox 等 ) 都支援最新的 CSS3 標準,並提供廣泛的功能和屬性支援,但舊版的瀏覽器 ( IE 等 ) 可能不完全支援最新的 CSS 功能,這也常導致在不同瀏覽器上顯示的外觀有所差異,下方網站可以詳細查詢瀏覽器對於 CSS 各個功能的支援度:

前往:https://caniuse.com/ciu/index

CSS 教學 - 認識 CSS - 瀏覽器對 CSS 支援度

點擊或出入要查詢的功能名稱,就能看見瀏覽器對於該功能的支援度,下方查詢「CSS Flexible Box Layout Module」,可以看到大多數的瀏覽器都支援 ( 呈現綠色 ),只有少數舊版瀏覽器不支援 ( 呈現紅色或黃綠色 )。

CSS 教學 - 認識 CSS - 瀏覽器對 CSS 支援度

撰寫第一個 CSS 程式

以下是一個簡單的 CSS 程式範例,程式裡使用了 CSS 的選擇器 h1 和 p,分別設定標題和段落元素的顏色和字體大小。

HTML 教學參考:HTML 教學

<!DOCTYPE html>
<html>
<head>
<style>
  /* CSS 區塊 */
  h1 {
    color: blue;
    font-size: 24px;
  }
  
  p {
    color: red;
    font-size: 16px;
  }
</style>
</head>
<body>
  <h1>STEAM 教育學習網 CSS 測試</h1>
  <p>這是一個測試的網頁。</p>
</body>
</html>

將範例程式碼複製,貼到線上網頁編輯器裡 ( 例如 JSBin ),就會看見藍色標題和紅色的段落文字。

CSS 教學 - 認識 CSS - 撰寫第一個 CSS 程式

小結

CSS 是網頁開發的三大核心技術之一,舉凡所有的網頁設計或網頁開發,一定會需要使用 CSS 進行開發,希望這篇文章可以讓大家初步認識 CSS 的重要性和應用,並激發大家對 CSS 的興趣和探索的慾望。

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

CSS 教學

基本介紹

認識 CSS 開始使用 CSS CSS 語法規則 CSS 命名原則

CSS 選擇器

認識 CSS 選擇器 優先順序 ( 權重 ) 樣式繼承與聯集 元素選擇器 ID 和 Class 選擇器 屬性選擇器 文件結構選擇器 虛擬類別選擇器 ( 結構 ) 虛擬類別選擇器 ( 類型 ) 虛擬類別選擇器 ( 輸入 ) 虛擬類別選擇器 ( 行為 ) 虛擬類別選擇器 ( 超連結 ) 虛擬類別選擇器 ( 邏輯 ) 虛擬類別選擇器 ( 其他 ) 虛擬元素選擇器 群組與組合選擇器

數值與單位

關鍵字與文字數值 長度與角度單位 顏色單位 位置名稱與時間單位

變數與內容函式

變數 數學計算 文字與清單計數 生成內容與引號

顏色與濾鏡

色彩模型 漸層色 影像濾鏡

文字樣式

使用通用字型 使用外部字型 @font-face 定義字型 文字尺寸 常用文字樣式 文字換行 文字空白與 Tab 大小 文字行高與縮排 文字水平與垂直對齊 文字書寫方向 特殊文字樣式

元素容器

容器顯示類型 ( display ) 元素 display 對照表 盒子模型 ( Box Model ) 寬度與高度 內邊距 ( padding ) 外邊界 ( margin ) 邊框 ( border ) 邊框圓角 影像邊框 輪廓 ( outline ) 可見性與透明度 內容溢出與裁切

背景與陰影

背景顏色 背景圖 ( 定位、尺寸 ) 背景圖 ( 固定、重複 ) 背景圖 ( 多重背景、混合 ) 背景縮寫 ( background ) 容器陰影 ( box-shadow )

清單與表格

清單樣式 清單計數器 定義計數規則 表格基本樣式 表格邊框樣式 表格內容寬度與對齊

基本排版與定位

元素排版方式 浮動 ( float ) 浮動形狀 定位 ( position )

Flexbox 彈性排版

Flexbox 彈性盒子 Flexbox 對齊方式 Flexbox 彈性伸縮

Grid 網格排版

Grid 網格容器與格線 Grid 網格空間與命名 Grid 網格流向與間距 Grid 排列網格項目 Grid 項目對齊與順序

轉場與動畫

轉場 ( transition ) 轉場觸發事件 動畫 ( animation ) 動畫觸發事件 多重動畫的權重與順序

變形、裁切與遮罩

裁切路徑 ( clip-path ) 影像遮罩 ( mask )