CSS - 擬似元素

你好啊,未來的 CSS 巫師們!今天,我們將踏上一段令人興奮的旅程,進入 CSS 擬似元素的神奇世界。作為你們友好的鄰居計算機老師,我非常高興能夠帶領你們進行這次冒險。所以,拿起你的虛擬魔杖(鍵盤),我們一起來探索吧!

CSS - Pseudo Elements

概覽

想像你正在裝飾一個房間。你已經擺好了家具(HTML 元素),但你想添加一些額外的風格,而不需要改變家具本身。這就是擬似元素的作用!它們就像是可以添加到你 HTML 元素上的神奇裝飾,而不真正修改 HTML。

語法

在我們開始施法(寫代碼)之前,讓我們學習一下咒語(語法):

選擇器::擬似元素 {
屬性: 值;
}

注意到雙冒號(::)了嗎?那就是我們的魔杖!它告訴瀏覽器,“嘿,我即將創造一些特別的東西!”

CSS ::after 擬似元素

我們先從 ::after 擬似元素開始。它就像是一個跟隨你元素四周的神奇助手,攜帶著額外的內容。

.magic-box::after {
content: "?";
margin-left: 5px;
}

在這個例子中,每個帶有類別 "magic-box" 的元素後面都會出現一頂禿頂帽表情符號。彷彿我們從 CSS 的帽子中變出了一隻兔子(或者是這個例子中的帽子)!

CSS ::before 擬似元素

如果 ::after 是跟隨你元素的助手,那麼 ::before 就是帶路的。它在你的元素之前添加內容。

.wizards-name::before {
content: "?‍♂️ ";
}

現在,每個巫師的名字前都會有一個巫師表情符號。阿布拉卡達布拉!

CSS ::first-letter 擬似元素

想要讓你的文字看起來像古老的魔法卷軸嗎?::first-letter 就是你的咒語!

p::first-letter {
font-size: 2em;
color: #8A2BE2;
float: left;
margin-right: 5px;
}

這會讓每個段落的第一个字母變得更大,顏色為紫色,並且向左浮動。就像有一個神奇的書記在你的手稿上照亮文字!

CSS ::first-line 擬似元素

與 ::first-letter 相似,但對於整個第一行文字有效。

p::first-line {
font-weight: bold;
color: #4B0082;
}

現在,每個段落的第一个行會變得加粗,顏色為青金石。就像在你神奇的卷軸上標記出最重要的部分!

CSS ::selection 擬似元素

從來沒想過要定制選中文字的樣式嗎?::selection 就是你的咒語!

::selection {
background-color: #FFD700;
color: #000000;
}

現在,當你在頁面上選擇文字時,它將具有金色背景和黑色文字。就像把你的游標變成了國王梅迪斯!

多個擬似元素

你可以在單個元素上使用多個擬似元素。這就像層層疊加咒語,以達到額外的魔法效果!

.magical-quote::before,
.magical-quote::after {
content: '"';
font-size: 2em;
color: #FF1493;
}

這會在帶有類別 "magical-quote" 的元素之前和之後添加引號,讓它們看起來像神秘的預言!

擬似元素方法表

這裡是我們學過的所有擬似元素方法的便捷魔法書(表格):

擬似元素 描述 示例
::after 在元素後添加內容 .element::after { content: "?"; }
::before 在元素前添加內容 .element::before { content: "?‍♂️"; }
::first-letter 為文字的第一个字母設樣 p::first-letter { font-size: 2em; }
::first-line 為文字的第一行設樣 p::first-line { font-weight: bold; }
::selection 為選中的文字設樣 ::selection { background-color: gold; }

記住,年輕的巫師們,擬似元素的威力在於它們能夠在不會擾亂你的 HTML 情況下添加樣式和內容。它們就像無形的助手,當你需要時總是隨叫隨到,但從不會礙事。

在我結束我們神奇的 CSS 之旅時,我希望你能夠受到啟發,去嘗試這些擬似元素。不要害怕混合和匹配,疊加和組合。唯一的限制是你的想象力!

在我多年的教學經歷中,我見過學生用這些簡單的工具創造出令人驚奇的作品。有一個學生甚至使用擬似元素創建了一個虛擬水族館,魚(::before 和 ::after 元素)在屏幕上遊來遊去!

所以,勇往直前,揮動你的 CSS 魔杖,創造你自己的魔法吧。並且記住,在網頁開發的世界裡,你從不會因為相信一點點魔法而變得太老。快樂編程,願你的樣式表永遠無 bug!

Credits: Image by storyset