CSS偽元素是CSS語言的一種非常強大的特性,可以用來實現一些非常有趣的效果,比如懸浮提示、選項卡、箭頭等。偽元素本質上是一些不存在于文檔流中的虛擬元素,它們可以被用來為文檔中已經存在的DOM元素添加額外的樣式和內容。
在CSS中,偽元素都是用雙冒號::
前綴來定義的。下面是CSS中使用最廣泛的偽元素:
::before { content: " "; }
::before和::after
偽元素::before
和::after
是最基礎的偽元素。它們都是用來在元素的內容前或后添加一些內容的。比如,你可以使用::before
來實現一個箭頭圖標:
.box::before { content: ""; display: inline-block; width: 0; height: 0; border-top: 5px solid transparent; border-left: 10px solid #000; border-bottom: 5px solid transparent; margin-right: 10px; }
::first-letter
偽元素::first-letter
用來對元素的第一個字符進行樣式設置。你可以使用它來給文章的第一段落加上一個不同于其余段落的樣式:
p:first-letter { font-size: 2em; color: #000; }
::first-line
偽元素::first-line
用來對元素第一行的樣式進行設置。你可以使用它來給文章的第一行加上一個粗體樣式:
p::first-line { font-weight: bold; }
::selection
偽元素::selection
用來對用戶選中的文本進行樣式設置。比如,你可以使用它來給用戶選擇的文本加上一個黃色的背景色:
::selection { background-color: yellow; }
除了上面介紹的幾個偽元素之外,CSS語言還有更多的偽元素,比如::target
、::placeholder
和::marker
等,它們都擁有不同的功能和用途。