文章最後更新於 2024 年 10 月 7 日
1. CSS 基礎概念
什麼是 CSS?
CSS,全名為層疊樣式表(Cascading Style Sheets),是一種用於描述 HTML 文件的呈現樣式的語言。它讓開發者能夠控制網頁的外觀和佈局,獨立於內容本身。CSS 提供了對字體、顏色、邊距、佈局等各種屬性的控制,使得開發者能更靈活地設計用戶界面。
CSS 的歷史與發展
- 起源與演進:CSS 於 1996 年首次發佈,旨在解決 HTML 中樣式設置的靈活性不足問題。隨著網頁技術的發展,CSS 也不斷演進。
- 主要版本:
- CSS1:提供了基本的樣式設置功能。
- CSS2:引入了更強大的選擇器和佈局模型,支持媒體查詢。
- CSS3:進一步擴展了功能,新增了動畫、過渡、彈性佈局及網格佈局等特性。
CSS 的基本語法
CSS 語法由選擇器、屬性和屬性值組成。基本結構如下:
selector {
property: value;
}
- 選擇器(Selectors):選擇要應用樣式的 HTML 元素。
- 屬性(Properties):定義所要設置的樣式特徵。
- 值(Values):指定屬性應該採用的具體值。
例如:
h1 {
color: blue;
font-size: 24px;
}
上面的代碼將所有 <h1>
標題的顏色設為藍色,字體大小設為 24 像素。
2. CSS 選擇器
基本選擇器
- 元素選擇器:選擇所有指定的 HTML 標籤。
p { color: red; }
- 類別選擇器:選擇所有擁有特定類別的元素,類別前面加
.
。.example { font-weight: bold; }
- ID 選擇器:選擇具有特定 ID 的元素,ID 前面加
#
。#unique { background-color: yellow; }
組合選擇器
- 後代選擇器:選擇某元素下的所有指定後代元素。
div p { margin: 10px; }
- 相鄰兄弟選擇器:選擇緊接在指定元素後的兄弟元素。
h1 + p { color: green; }
偽類與偽元素
- 偽類:用於指定元素的特定狀態。
a:hover { text-decoration: underline; }
- 偽元素:用於選擇元素的一部分。
p::first-line { font-weight: bold; }
3. CSS 佈局模型
盒子模型(Box Model)
CSS 的佈局依賴於所謂的盒子模型。每個 HTML 元素都可以被視為一個盒子,這個盒子包含:
- 內容:實際的內容,如文本或圖片。
- 內邊距(padding):內容與邊框之間的空間。
- 邊框(border):圍繞元素的邊框。
- 外邊距(margin):元素與其他元素之間的空間。
屬性 | 描述 |
---|---|
content | 實際內容 |
padding | 內容與邊框之間的距離 |
border | 元素的邊框 |
margin | 元素與其他元素之間的距離 |
佈局技術
- 流式佈局(Flow Layout):元素按照文檔流的順序排列。
- 彈性佈局(Flexbox):允許更靈活的佈局,適用於一維佈局。
.container { display: flex; justify-content: space-between; }
- 網格佈局(Grid Layout):提供二維佈局的功能。
.grid-container { display: grid; grid-template-columns: auto auto auto; }
定位方式
- 靜態定位(Static):默認定位方式,元素按照文檔流排列。
- 相對定位(Relative):元素相對於其正常位置進行偏移。
- 絕對定位(Absolute):元素相對於最近的已定位父元素進行定位。
- 固定定位(Fixed):元素相對於視窗進行定位,滾動時不會移動。
4. CSS 顏色與字體
顏色表示法
CSS 支持多種顏色表示法:
- 名稱顏色:如
red
,blue
,green
。 - 十六進制顏色:如
#ff0000
。 - RGB:如
rgb(255, 0, 0)
。 - RGBA:添加透明度,如
rgba(255, 0, 0, 0.5)
。 - HSL:如
hsl(0, 100%, 50%)
。
字體屬性
- 字體系列(font-family):如
font-family: Arial, sans-serif;
。 - 字體大小(font-size):如
font-size: 16px;
。 - 字體樣式(font-style):如
font-style: italic;
。
文字樣式
- 文字顏色(color):設定文本顏色。
- 行高(line-height):控制文本行間距。
- 字間距(letter-spacing):控制字母之間的距離。
h1 {
color: #333;
font-size: 24px;
line-height: 1.5;
}
5. CSS 響應式設計
媒體查詢(Media Queries)
媒體查詢用於根據不同設備的特性應用不同的樣式。
@media (max-width: 600px) {
body {
background-color: lightblue;
}
}
流式佈局與相對單位
使用百分比(%)、視口單位(vw, vh)來創建自適應佈局。
.container {
width: 100%;
height: 100vh;
}
響應式圖片與視頻
使用 CSS 的 max-width
屬性來確保媒體元素不會超過其容器的寬度。
img {
max-width: 100%;
height: auto;
}
6. CSS 實用工具與資源
CSS 預處理器
- SASS:提供變數、嵌套和混合等功能,讓 CSS 更具可維護性。
- LESS:類似於 SASS,但語法稍有不同。
CSS 框架
- Bootstrap:提供一套完整的前端開發工具,快速構建響應式網站。
- Tailwind CSS:基於實用類別的框架,提供靈活的樣式設置。
在線資源
- 教學網站:
- CSS 測試與實驗工具:
這篇文章提供了 CSS 的基本概念及其應用,幫助新手快速入門。隨著技術的演進,持續學習與實踐將是掌握 CSS 的關鍵。
關於作者
- 我是Oscar (卡哥),前Yahoo Lead Engineer、高智商同好組織Mensa會員,超過十年的工作經驗,服務過Yahoo關鍵字廣告業務部門、電子商務及搜尋部門,喜歡彈吉他玩音樂,也喜歡投資美股、虛擬貨幣,樂於與人分享交流!
最新文章
- 2024 年 12 月 30 日WebFlux 技術介紹初學者指南 WebFlux 基礎與實踐
- 2024 年 12 月 17 日Java JUC 深入探討深入探討Java JUC高併發編程技巧與最佳實踐
- 2024 年 12 月 16 日問題解決策略高效解決工作難題的邏輯思考與工具全面指南
- 2024 年 12 月 16 日價值交付系統新手指南打造高效價值交付系統