## 偽類
CSS偽類是添加到選擇器的關鍵字,指定要選擇的元素的特殊狀態。例如,`:hover` 將在用戶懸停在選擇器指定的元素上時應用樣式。
### anchor偽類
鏈接的不同狀態都可以以不同的方式顯示。
```html
<style>
a:link {color:#000000;} /* 未訪問鏈接*/
a:visited {color:#00FF00;} /* 已訪問鏈接 */
a:hover {color:#FF00FF;} /* 鼠標移動到鏈接上 */
a:active {color:#0000FF;} /* 鼠標點擊時 */
</style>
<body>
<p><b><a href="/css/" target="_blank">這是一個鏈接</a></b></p>
<p><b>注意:</b> a:hover 必須在 a:link 和 a:visited 之后,需要嚴格按順序才能看到效果。</p>
<p><b>注意:</b> a:active 必須在 a:hover 之后。</p>
</body>
```
> 注意:在CSS定義中,a:hover必須被置于a:link和a:visited之后,a:active必須被置于
> a:hover之后,才是有效的。偽類的名稱不區分大小寫。
### `:first-child`偽類
:first-child CSS 偽類代表了一組兄弟元素中的第一個元素。被匹配的元素需要具有一個父級元素。
```css
element:first-child { style properties }
```
上面的CSS作用于下面的HTML:
```css
span:first-child {
background-color: lime;
}
```
```html
<div>
<span>This span is limed!</span>
<span>This span is not. :(</span>
</div>
```

### `:first-line`偽類
"first-line" 偽元素用于向文本的首行設置特殊樣式。
在下面的例子中,瀏覽器會根據 "first-line" 偽元素中的樣式對p元素的第一行文本進行格式化:
```html
<style>
p:first-line {
color:red;
}
</style>
<body>
<p>A smooth, mild blend of coffees from Mexico, A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,A smooth, mild blend of coffees from Mexico,</p>
</body>
```
> 注意:"first-line" 偽元素只能用于塊級元素。
下面的屬性可應用于 "first-line" 偽元素:
> font properties
>
> color properties
>
> background properties
>
> word-spacing
>
> letter-spacing
>
> text-decoration
>
> vertical-align
>
> text-transform
>
> line-height
>
> clear
### `:before`偽類
":before" 偽元素可以在元素的內容前面插入新內容。
下面的例子在每個<h1>元素前面插入一幅圖片:
```html
<style>
p:before
{
content:"臺詞:-";
background-color:yellow;
color:red;
font-weight:bold;
}
</style>
<body>
<p>The :before pseudo-element inserts content before an element.</p>
<p><b>注意:</b>僅當 !DOCTYPE 已經聲明 IE8 支持這個內容屬性</p>
</body>
```
> 大家應該想到了,既然有:before偽類,自然就有:after偽類,大家可以自行學習。
>
> 在css中實際上提供了非常多的偽類可以使用,我們指數選擇了一些常用的進行介紹,其他偽類的學習,需要大家自主學習。
- 我們在做什么?
- 為什么是內存?
- 我們實際上在做什么
- HTML基礎
- Web原理和HTML簡介
- Web原理
- HTML概念
- HTML標簽
- 標簽
- HTML固定基本結構
- 第一個HTML頁面
- 工具的使用
- 標題
- <hr>和<p>標簽
- 路徑概念
- 超級鏈接
- 列表
- 表格
- 表單的設計與使用
- 表單域的原理
- 文本框和密碼框
- 單選框和復選框
- 下拉列表框
- 多行文本和上傳
- 提交按鈕和重置按鈕
- 為CODING COFFEE加入在線購買頁
- HTML5
- 定位服務
- CSS
- CSS的基礎使用
- CSS簡介
- CSS樣式規則和加載方式
- 選擇器
- 偽類
- CSS優先級和層疊
- CSS顏色
- 背景圖片
- 文本
- CSS列表
- DIV+CSS布局
- 內聯元素和區塊元素介紹
- Display屬性
- 盒子模型的邊距和邊框
- 浮動和清除浮動
- 用Position屬性進行定位
- 專題:居中和對齊
- flex布局
- CSS新特性
- CSS3邊框
- 動畫
- Javascript
- HelloWorld
- 語句與變量
- 一切皆對象
- 標識符、注釋和區塊
- 基本數據類型和引用數據類型
- 語句
- 條件語句
- 循環語句
- 標準庫
- Array對象
- Number對象
- String對象
- JSON對象
- Math對象
- Date對象
- 數據類型
- typeof運算符
- number
- 字符串
- 布爾類型
- 函數
- 數組
- Dom模型
- Dom和Dom節點
- 特征相關屬性
- 節點對象方法
- Element對象
- Attribute對象
- Text節點和CSS操作
- 事件模型
- WebStorage
- BOM模型
- window對象
- 計時事件
- jQuery基礎
- 認識jQuery
- jQuery對象和DOM對象
- jQuery選擇器
- jQuery Dom操作
- 查找節點和創建節點
- 插入節點和刪除節點
- 復制節點和替換節點
- 包裹節點和屬性操作
- 樣式操作
- 設置和獲取HTML、文本和值
- 遍歷節點和CSS操作
- jQuery 事件和動畫
- 事件綁定與冒泡處理
- jQuery動畫
- jQuery 插件
- validate 插件
- jQuery與Ajax的應用
- Ajax簡介
- jquery中的Ajax
- Vue.js基礎與實戰
- HelloWorld
- v-for、v-on、v-model
- 組件化編程
- 生命周期函數(鉤子)
- 計算屬性、偵聽器、方法
- class與style綁定
- 關于組件的一些問題
- 單項數據流和Prop驗證
- 項目環境搭建
- 關于git的一些情況
- JavaWeb教程
- 對象和類的概念
- 對象和類的介紹
- 對象和類的介紹2
- 類的繼承與權限控制
- Object類
- 多態的內容
- 容器
- 流
- Servlet
- Servlet練習
- Session和Cookie
- JSP
- 內置對象
- JSTL和EL
- JDBC
- 文件上傳和下載
- 過濾器
- 數據庫
- 數據庫介紹
- MySQL的安裝
- SQL
- 表基本操作
- 修改數據語句
- 數據檢索操作
- 多表數據操作
- 表結構設計
- 綜合應用
- 作業與練習
- Maven教程
- Maven安裝配置