:hover
, :focus
, :nth-child()
)的使用#id > .class > tag
。<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<title>Day 6 - 選擇器示範</title>
<style>
p { color: blue; } /* 元素 */
.highlight { background: yellow; } /* 類別 */
#title { font-size: 24px; } /* ID */
div p { color: red; } /* 後代 */
div > p { color: green; } /* 子元素 */
h1, h2, h3 { font-weight: bold; } /* 群組 */
a:hover { color: orange; } /* 偽類 */
li:nth-child(2) { text-decoration: underline; }
</style>
</head>
<body>
<h1 id="title">CSS 選擇器 Demo</h1>
<p>這是元素選擇器:文字藍色。</p>
<p class="highlight">這是類別選擇器:背景黃色。</p>
<div>
<p>我是 div 的子元素(綠色)。</p>
<section>
<p>我是 div 的後代元素(紅色)。</p>
</section>
</div>
<h2>互動測試</h2>
<a href="#">滑過看看 hover 效果</a>
<ul>
<li>第一項</li>
<li>第二項(nth-child 命中)</li>
<li>第三項</li>
</ul>
</body>
</html>
!important
→ ✅ 改以合理結構與命名來解決衝突div p
與 div > p
的差異:hover
效果:focus
樣式:nth-child()
製作條紋清單今天我深刻體會到 CSS 選擇器就像魔法陣,一旦畫錯就會完全沒效果。以前我常常搞混子元素與後代元素,結果要不是樣式沒套上,就是整個版面被波及。透過實際測試 div p
與 div > p
,我終於理解這兩者在結構上的差別,之後就能更精準控制影響範圍。
偽類的部分讓我覺得 CSS 不再只是靜態樣式,而是能增加互動的小驚喜。例如 :hover
的變色、:focus
的框線,都能讓使用者操作時更有回饋感。這也提醒我,寫程式不只是給電腦看,更是為了使用者的體驗。
雖然今天的重點看似基礎,但我覺得這些觀念是往後學習 Flex、Grid 或動畫的基石。就像健身要先把核心練穩,選擇器就是我在前端裡的核心肌群。每天累積一點,真的能感覺到自己越來越熟悉前端的語言。