## 伪类
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>
```
![](/assets/pic/first-child.png)
### `: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属性进行定位
- 专题:居中和对齐
- CSS新特性
- CSS3边框
- 动画
- JavaScript基础
- Hello World!
- 语句和变量
- 一切皆对象
- 标识符、注释和区块
- 基本数据类型和引用数据类型
- 语句
- 条件语句
- 循环语句
- 数据类型
- typeof
- number
- 字符串
- 布尔类型
- 函数
- 数组
- 运算符
- 加法运算符
- 算术、赋值、比较运算符
- 布尔运算符
- DOM模型
- DOM和DOM节点
- 特征相关属性
- 节点对象的方法
- Element对象
- Attribute对象
- Text节点和CSS操作
- 事件模型
- 标准库
- Number对象
- String对象
- Array对象
- Date、Boolean和Math对象
- JSON对象
- 面向对象编程中的 this
- Web Storage
- 错误处理机制
- Error对象和try..catch语句
- javascript的原生错误类型
- BOM模型
- window对象
- 计时事件
- jQuery基础
- 认识jQuery
- jQuery对象和DOM对象
- jQuery选择器
- jQuery Dom操作
- 查找节点和创建节点
- 插入节点和删除节点
- 复制节点和替换节点
- 包裹节点和属性操作
- 样式操作
- 设置和获取HTML、文本和值
- 遍历节点和CSS操作
- jQuery 事件和动画
- 事件绑定与冒泡处理
- jQuery动画
- jQuery 插件
- validate 插件
- jQuery与Ajax的应用
- Ajax简介
- jquery中的Ajax
- Bootstrap基础
- 起步
- 栅格系统
- 排版样式
- 表格和按钮
- 表单和图片
- 辅助类和响应式工具
- 图标菜单按钮组件
- 输入框和导航组件
- 路径、分页、标签和徽章组件
- 巨幕、页头、缩略图和警告框
- 进度、条媒体对象和Well组件
- 列表组和嵌入组件
- 教学管理
- 缺勤记录
- 课堂作业
- 默写记录
- 周测