CSS3中的选择符有哪些?

本文深入讲解CSS中的属性选择器、伪类选择器和层级选择器的使用方法,包括各种选择器的具体语法和应用场景,帮助读者掌握更精细的样式控制技巧。

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

一、属性选择器

  1、E[attr]:只使用属性名,但没有确定任何属性值。

通过属性去找元素

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

input[value]{background:#fcc} 

</style>

 

2、E[attr=“value”]:指定属性名,并指定了该属性的属性值

通过属性值需按照元素

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

input[value=”txt”]{background:#fcc}

</style>

  1. E[attr~=“value”]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”必须的

 

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

input[value~=”txt”]{background:#fcc}

</style>

 

4、E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的

5、E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的

6、E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value
7、E[attr|=“value”]:指定了属性名,并且属性值仅是value或者以“value-”开头的值(比如说left-con)

 

 

二、伪类选择器

1.结构性伪类选择器

第一组:

 X:first-child 匹配子集的第一个元素。IE7就可以支持

X:last-child匹配父元素中最后一个X元素

X:nth-child(n)用于匹配索引值为n的子元素。索引值从1开始

括号里可以指定参数值:odd(基数)、even(偶数)、2n、2n+1

X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。 X:nth-last-child(n)从最后一个开始算索引。

 

第二组:

X:first-of-type匹配同级兄弟元素中的第一个X元素 ​

 X:last-of-type匹配同级兄弟元素中的最后一个X元素 ​

 X:nth-of-type(n)匹配同类型中的第n个同级兄弟元素X ​

X:only-of-type匹配属于同类型中唯一兄弟元素的X ​

X:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素X

 **:root**匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML

 **X:empty**匹配没有任何子元素(包括包含文本)的元素X

例:li:empty:{visibility:hidden}1

 

 

 

 

 

 

2.目标伪类选择器

 

E:target 选择匹配E的所有元素,且匹配元素被相关URL指向

开始页面没有不同,点击锚链接时就可以改变选中元素格式属性,但是点击完之后不会回到最初的样子

如:锚点链接 #box2:targer{

boder:1px solid #f00

};

3.UI状态伪类选择器:

E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素

E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素

E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E

E::selection 匹配E元素中被用户选中或处于高亮状态的部分

注:通过此选择符只能的改变元素背景色和文字颜色,其他属性都改不了,例如:字体大小,字体

 

4.动态伪类选择器

E:link 链接伪类选择器 选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上

E:visited 链接伪类选择器 选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上

E:active 用户行为选择器 选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上

E:hover 用户行为选择器 选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover

 E:focus 用户行为选择器 选择匹配的E元素,而且匹配元素获取焦点

 

三、层级选择器 :

E>F 子选择器 选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素

E+F 相邻兄弟选择器 选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面

E~F 通用选择器 选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素

 

CSS 提供了多种选择符,用于精确地选择 HTML 文档中的元素并为其应用样式。以下是 CSS 中主要的选择符类型及其用法: ### 1. 元素选择符(Type Selector) 通过指定 HTML 标签名来选择所有该类型的元素。例如: ```css p { color: blue; } ``` 以上代码会选择文档中所有的 `<p>` 元素,并将其文字颜色设置为蓝色。 ### 2. 类选择符(Class Selector) 类选择符以点号 `.` 开头,后跟类名,用于选择具有特定 `class` 属性值的元素。例如: ```css .date-color { color: red; } ``` 此规则将应用于所有具有 `class="date-color"` 的元素,使其文字颜色变为红色 [^1]。 ### 3. ID 选择符(ID Selector) ID 选择符以井号 `#` 开头,后跟 ID 名,用于唯一标识一个元素。例如: ```css #desc { font-size: 28px; } ``` 该规则仅适用于 `id="desc"` 的元素,设置其字体大小为 28 像素 [^1]。 ### 4. 通用选择符(Universal Selector) 使用星号 `*` 表示,匹配文档中的所有元素。例如: ```css * { color: cadetblue; } ``` 上述代码将页面上所有文本颜色设置为 cadetblue 色调 [^2]。 ### 5. 属性选择符(Attribute Selector) 根据元素的属性及其值进行选择。语法如下: - `[attr]`:选择具有指定属性的元素,无论属性值为何。 - `[attr=value]`:选择属性值等于指定值的元素。 - `[attr~=value]`:选择属性值包含指定单词的元素(适用于空格分隔的列表)。 - `[attr|=value]`:选择属性值以指定值开头且后面紧跟连字符的元素。 - 多个属性选择器可以组合使用,如 `input[type="text"][disabled]` 会选择同时具有 `type="text"` 和 `disabled` 属性的 `<input>` 元素 [^3]。 ### 6. 伪类选择符(Pseudo-class Selector) 用于选择处于特定状态的元素,例如链接的不同状态或表单控件的焦点状态。例如: ```css input:focus { background-color: aqua; } ``` 当用户聚焦于输入框时,背景色会变为水绿色 [^4]。 ### 7. 伪对象选择符(Pseudo-element Selector) 用于选择元素的特定部分,如首字母、首行等。常见的有 `::before`、`::after`、`::first-letter` 和 `::first-line` 等。 ### 8. 组合选择符(Combinator Selector) 组合选择符用于连接多个选择器,定义它们之间的关系。主要包括: - 后代选择器(空格):如 `div p` 会选择 `<div>` 元素内所有 `<p>` 元素。 - 子元素选择器(>):如 `div > p` 仅选择 `<div>` 的直接子元素 `<p>`。 - 相邻兄弟选择器(+):如 `h1 + p` 会选择紧接在 `<h1>` 后面的第一个 `<p>` 元素。 - 通用兄弟选择器(~):如 `h1 ~ p` 会选择所有位于 `<h1>` 后面的 `<p>` 元素。 ### 9. 多重选择符(Multiple Selectors) 可以通过逗号 `,` 分隔多个选择器,使同一组样式规则适用于多个不同的元素。例如: ```css h1, h2, h3 { font-family: sans-serif; } ``` 此规则将为 `<h1>`、`<h2>` 和 `<h3>` 元素统一设置无衬线字体。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值