CSS及选择器归纳

本文详细介绍了CSS样式表的三种类型:行内样式、内嵌样式和外部样式,并对选择器进行了分类说明,包括HTML选择器、类选择器、ID选择器等。此外还列举了A标签的不同状态样式及高级选择器的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天把CSS样式表的分类和选择器分类做一个总结和归纳,供初学者参考:

1.样式表的分类:

  A)行类样式:写在HTML标签里面

      例如:<h1 style=”样式规则.......”></h1>,此例使用行类样式

  B)内嵌样式:写在<head></head>之间

     例如:<style type=”text/css”>

H1{

样式规则;

...............................

}

         </style>

  C)外部样式:写在外部,HTML页面要使用时链接或者导入

  例如:链接<link ...........................>

           导入::  <style type="text/css">

                         @import url("style/index.css");

                    </style>

 

2.选择器

A)HTML选择器:选择器的名字就是HTML标签名

B)CLASS选择器:以.号开头,引用时使用class=”类名”

C)ID选择器:以#开头,引用时使用ID”ID

 

3.A标签样式

名称

涵义

aa:link

链接静止状态

a:hover

鼠标悬停

a:active

鼠标正在点击

a:visited

鼠标点击后

4.选择器的分类:


1. HTML选择器:选择器的名字就是HTML标签

2. 类选择器:以.号开头命名,引用时使用class=类名

3. ID选择器:以#号开头,引用时使用“ID=选择器名”

 

4.群组选择器:

例如:h2,li,.myca{

}

表示h2li和类选择器都采用同一种样式

 

5.包含选择器(也叫后代选择器)

例如:#d1  ul  li{

}

表示包含在d1下面的ul下面,ul下面的li采用此样式

 

6.子元素选择器

例如:h1 > em{

color:red

}

<h1><span>这是<em>第一</em>H1</span></h1>

<h1>这是<em>第二</em>H1</h1>

表示第2em会起作用,第一个不会起作用

 

7.相邻兄弟选择器

例如:h1+p{

}

表示“紧跟在h1后面的段落起作用,h1p拥有共同的父亲”

 

8.通配符选择器*

例如:*{

    font-size:12px;

}

表示网页中所有的元素都采用这种样式

实际应用中,下面的情况比较常见:

*{

   margin:0;

   Padding:0

}


 

<think>我们被要求回答关于CSS伪类选择器使用方法的问题。根据提供的引用,我们可以总结出伪类选择器的基本概念和常见类型。 伪类选择器用于定义元素的特殊状态,例如鼠标悬停、点击、访问过等。它们通常以冒号(:)开头。 根据引用[1][2][3][4],我们可以归纳出以下常见的伪类选择器: 1. 状态伪类: - :hover - 当鼠标悬停在元素上时 - :active - 当鼠标在元素上按下时(激活状态) - :link - 未访问的链接 - :visited - 已访问的链接 - :focus - 元素获得焦点时(常用于表单元素) 2. 表单状态伪类(引用[2]): - :checked - 匹配被选中的单选按钮或复选框 - :enabled - 匹配启用的表单元素 - :disabled - 匹配禁用的表单元素 3. 位置伪类(引用[3]): - :first - 选取某种元素的第一个(注意:在CSS中,通常使用:first-child,而:first是jQuery中的) - :last - 选取某种元素的最后一个(同理,CSS中常用:last-child) - :nth-child(n) - 选取父元素下的第n个子元素 - :nth-of-type(n) - 选取同类型中的第n个 - :first-child - 选取父元素的第一个子元素 - :last-child - 选取父元素的最后一个子元素 - :nth-child(odd) 或 :nth-child(2n+1) - 选取奇数位置的子元素 - :nth-child(even) 或 :nth-child(2n) - 选取偶数位置的子元素 - :nth-child(n) - 选取第n个元素(n从1开始) - :lt(n) - 在jQuery中表示索引小于n的元素(CSS中不支持,但可以用:nth-child(-n+{n})实现前n个) - :gt(n) - 在jQuery中表示索引大于n的元素(CSS中可以用:nth-child(n+{n+1})实现) 注意:在CSS中,位置伪类选择器通常使用:nth-child()等,而引用[3]中提到的:eq, :lt, :gt等是jQuery选择器,并非CSS标准选择器。 4. 否定伪类(引用[2]): - :not(selector) - 选择不匹配给定选择器的元素 5. 其他伪类: - :root - 选择文档的根元素(即html元素) - :empty - 选择没有子元素的元素(包括文本节点) 另外,引用[4]展示了:link和:visited的用法。 使用伪类选择器的语法: selector:pseudo-class { property: value; } 例如: a:hover { color: red; } 下面我们通过几个例子来说明: 例1:链接的不同状态 a:link { color: blue; } /* 未访问的链接 */ a:visited { color: purple; } /* 已访问的链接 */ a:hover { color: red; } /* 鼠标悬停 */ a:active { color: green; } /* 鼠标按下 */ 注意:为了生效,建议按照LVHA(link, visited, hover, active)的顺序定义,因为后面的样式会覆盖前面的。 例2:表单元素 input:disabled { background-color: #eee; } input:enabled { background-color: white; } input:checked { height: 20px; width: 20px; } 例3:位置选择 li:first-child { /* 第一个li */ color: red; } li:nth-child(3) { /* 第三个li */ color: blue; } li:nth-child(odd) { /* 奇数行 */ background: #f0f0f0; } 例4:否定伪类 div:not(.special) { /* 所有class不是special的div */ border: 1px solid black; } 注意:伪类选择器可以组合使用,例如: a:hover:not(.active) { /* 鼠标悬停且不是active类的a标签 */ color: orange; } 根据引用,我们还可以看到一些注意事项: - 伪类选择器可以用于任何元素,不仅仅是链接。 - 在定义链接状态时,要按照一定的顺序(:link, :visited, :hover, :active)以避免覆盖问题。 因此,我们可以总结如下: CSS伪类选择器允许我们根据元素的状态或位置来应用样式。常见的伪类包括链接状态、用户交互状态、表单状态、位置等。正确使用伪类选择器可以增强页面的交互性和视觉效果。 下面我们按照要求生成相关问题。</think>### CSS 伪类选择器使用方法详解 伪类选择器用于定义元素的**特殊状态**或**结构性位置**,以冒号`:`开头。以下是常见用法分类: #### 一、动态伪类(用户交互状态) 1. **`:hover`** - 鼠标悬停状态 ```css a:hover { color: red; } /* 链接悬停时变红 */ ``` 2. **`:active`** - 激活状态(鼠标按下时) ```css button:active { transform: scale(0.95); } /* 按钮按下时缩小 */ ``` 3. **`:focus`** - 获得焦点状态 ```css input:focus { border-color: blue; } /* 输入框聚焦时边框变蓝 */ ``` #### 二、链接伪类(超链接状态) 1. **`:link`** - 未访问链接 ```css a:link { color: purple; } /* 未访问链接紫色 */ ``` 2. **`:visited`** - 已访问链接 ```css a:visited { color: gray; } /* 已访问链接灰色 */ ``` > ⚠️ 链接伪类顺序建议:`:link → :visited → :hover → :active`[^4] #### 三、表单伪类(表单元素状态) ```css input:disabled { opacity: 0.5; } /* 禁用状态 */ input:enabled { border: 1px solid; } /* 启用状态 */ input:checked { accent-color: green; } /* 选中状态 */ input:required { border-left: 3px solid red; } /* 必填项 */ ``` #### 四、结构伪类(位置选择) ```css li:first-child { font-weight: bold; } /* 第一个子元素 */ li:last-child { border-bottom: none; } /* 最后一个子元素 */ li:nth-child(odd) { background: #f0f0f0; } /* 奇数行 */ tr:nth-child(3n) { color: blue; } /* 每第3行 */ div:empty { display: none; } /* 空元素隐藏 */ ``` #### 五、否定伪类(反向选择) ```css input:not([type="submit"]) { border: 1px solid #ccc; /* 除提交按钮外的输入框 */ } ``` #### 六、组合使用示例 ```html <style> /* 表格隔行变色 + 悬停高亮 */ tr:nth-child(even) { background: #f9f9f9; } tr:hover { background: #ffe; } /* 禁用按钮的特殊样式 */ button:disabled:hover::after { content: "不可用"; position: absolute; } </style> ``` ### 注意事项 1. 伪类选择器优先级与类选择器相同(权重0-1-0) 2. 部分伪类如`:hover`可应用于所有元素,不仅限于链接 3. 动态伪类需考虑移动端触摸交互的兼容性 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值