跳到主要内容位置

CSS ID 选择器

CSS ID 选择器用来选择 HTML 元素的 ID 属性值。因为 HTML 元素的 ID 属性是唯一的(除非人为错误的,赋值了相同的 ID 给多个 HTML 元素),CSS ID 选择器可以唯一的选择一个 HTML 元素,这个与 CSS 标签选择器和 CSS Class 选择器有所不同,后两者可以选择一至多个 HTML 元素。CSS ID 选择器的用途不如标签选择器个 Class 选择器广泛,因为太过专一,导致无法复用,有一种需要使用它的情况,是为了提高 CSS 选择器优先级(特异性),这些我们在后面的章节在介绍。下面我们来看看如何使用 CSS ID 选择器来设置样式。

使用 CSS ID 选择器

假设我们有这样的 HTML 元素:

<ul id="menu">
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ul>
<ul>
<li>列表项1</li>
<li>列表项1</li>
<li>列表项1</li>
<li>列表项1</li>
</ul>

第 1 个 <ul> 标签设置了 ID 值为 menu,如果想使用 CSS ID 选择器来给它设置样式,可以使用下面的 CSS 语法:

#id值

如果要给第 1 个 <ul> 标签设置样式,并且不影响第 2 个 <ul> 元素,可以使用 CSS ID 选择器来专门的选择 #menu,来给它设置样式,代码如下:

#menu {
border: 1px solid hsl(214, 50%, 60%);
}

预览:

可以看到第 1 个 <ul> 元素的样式成功的修改了,并且也没有影响第 2 个 <ul> 元素的样式。需要注意的是,如果在编写 HTML 的时候,不小心给多个 HTML 元素设置了相同的 ID 属性,那么 CSS ID 选择器会选择所有具有相同 ID 属性的 HTML 元素,这样虽然和 CSS Class 选择器的作用类似,但是这并不符合 HTML 的语法规范,容易引起样式上的 BUG。再有,使用 JavaScript 的 ID 选择器时,也会出现问题,因此,要尽量避免这种情况,错误的示例代码如下:

<ul id="menu">
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ul>
<ul id="menu">
<li>列表项1</li>
<li>列表项1</li>
<li>列表项1</li>
<li>列表项1</li>
</ul>

预览:

小结

CSS ID 选择器可以选择特定的 HTML 元素,HTML 元素的 ID 值是唯一且不重复的,所以使用 CSS ID 选择器适合给专一的元素设置样式的情况,不过要注意,这时 CSS 代码是无法复用的,因为 ID 属性不能应用在同一个页面的不同 HTML 元素上,另外,要避免在同一个 HTML 页面的元素上,设置相同的 ID 元素,这是违反 HTML 代码规范的,会导致样式上的 BUG。

提示

一系列的课程让你成为高级前端工程师。课程覆盖工作中所有常用的知识点和背后的使用逻辑,示例全部都为工作项目简化而来,学完即可直接上手开发!

即使你已经是高级前端工程师,在课程里也可能会发现新的知识点和技巧,让你的工作更加轻松!

《React 完全指南》课程,连载中现只需 48 元(领取优惠券)点击查看详情。

《Vue 3.x 全家桶完全指南与实战》课程,包括 Vue 3.x、TypeScript、Vue Router 4.x、Vuex 4.x 所有初级到高级的语法特性详解,让你完全胜任 Vue 前端开发的工作。点击查看详情。

《React即时通信UI实战》课程,利用 Storybook、Styled-components、React-Spring 打造属于自己的组件库。

《JavaScript 基础语法详解》本人所著图书,包含 JavaScript 全面的语法知识和新特性, 可在京东、当当、淘宝等各大电商购买