一篇文章, 带你了解CSS选择器的常见用法

CSS选择器详解
本文介绍了CSS中的基础选择器和复合选择器,包括标签选择器、类选择器、ID选择器等基础选择器,以及后代选择器、子选择器、并集选择器和伪类选择器等复合选择器。

目录

CSS 选择器

1. 基础选择器

(1)标签选择器

(2)类选择器

 (3)id 选择器

(4)通配符选择器

2. 复合选择器

(1)后代选择器

(2)子选择器 

(3)并集选择器 

(4)伪类选择器 

(4.1)链接伪类选择器

(4.2)force 伪类选择器

小总结



CSS 选择器

        在 CSS 中,可以支持多种不同风格的选择器,通过选择器的搭配使用, 可以确定任意想要操作的元素。选择器就是高精度定位器,有了它我们就能实现指哪打哪的效果。

        由于 CSS 选择器种类众多,这里就介绍最为常用的两大类,以满足基本开发需求。


1. 基础选择器

        基础选择器是由单个选择器构成,主要有:标签选择器,类选择器,id 选择器,通配符选择器。

(1)标签选择器

        标签选择器是选中一类标签,如果我们选中 <a> 标签,就会让当前页面所有 <a> 标签都带上同样的样式,可认为是特定标签的 aoe,是一种较为简单粗暴的选择方式。

        来看一下效果:


(2)类选择器

        有的时候我们只想修改特定的元素,这个时候就可以使用类选择器。我们可以在 CSS 中创建一个类,通过这个类来手动指定哪些标签要遵守预期样式。

        假设我们有四个 <li> 都是紫色,我希望其中一个变为橘色,就可以让其中一个 <li> 的类属性不同:

         需要注意的是,一个类可以应用多个标签,一个标签也可以使用多个类。接下来我通过代码示例让多个 <li> 都是 "special" 类,让一个 <li> 可以使用多个类(多个类之间用空格分离):

 


 (3)id 选择器

        id 选择器和类选择器类似,不过 id 值在 html 中是唯一的(有些像数据库中的primary key),并且 id 选择器以 # 开头。我们可以通过 id 选择器来完成上面的示例:

         还是可以发现由于 id 的唯一性,有的属性值发生了赘余,所以类选择器比 id 选择器更加常用。


(4)通配符选择器

        通配符选择器是以 * 开头的选择器,会选取所有的标签。这个一般用于样式的擦除。我们知道 超链接标签是带有下划线并且字体颜色是蓝色的,通过通配符选择器我们就能擦除原有的样式。


2. 复合选择器

        复合选择器是将基础选择器进行了一些组合,来达到更加精准且高效的选择。今天笔者要介绍的有:后代选择器,子选择器,并集选择器,伪类选择器。

(1)后代选择器

        其方式是先指定父元素,再去指定子元素。这里的子元素不一定要是父子关系,也可以是爷孙关系,总之只要是子关系即可。接下来通过后代选择器来选定 <ul> 的 <li> 标签,而 <ol> 的 <li> 标签不选定

        后代选择器也可以结合类选择器:


(2)子选择器 

         和后代选择器非常类似,不过子选择器只能选择子标签,至于孙子、曾孙子之类,不可以选中,父子标签通过 > 相连。接下来通过子选择器来完成上面的示例:

 


(3)并集选择器 

         通过并集选择器可以一次选择多个标签。语法是通过逗号来分隔相关元素,这是一种样式更为简化的写法。来看示例:

         如果还想让汽车、自行车的大小也为 40 px,就可以组合使用并集选择器和子选择器:


(4)伪类选择器 

         伪类选择器有非常多种种类,这里介绍较为常用的:

(4.1)链接伪类选择器

        链接伪类选择器是搭配 a 标签使用的,会根据 a 标签的状态来选择。

a 标签的状态有:

  1. link : 未被访问
  2. visited : 已经被访问过
  3. hover : 鼠标悬停
  4. active : 活动链接(点下去未松开)

        接下来通过伪类选择器对上述四种状态都进行演示

访问前效果:

悬停效果:(由于是黄色,不明显,我打开浏览器的黑夜模式进行查看)

 活动链接效果:

 访问后效果:

 

        有意思的是 hover 和 active 选择器还能作用于别的标签,就拿 input 标签来说,我们让悬停为红色,点击之后为蓝色:


(4.2)force 伪类选择器

        表示获取焦点的时候被选中。凡是带有图像化界面,都涉及焦点的概念,我们使用电脑时,程序窗口常常带有一个输入框,针对输入框,我们就需要知道那个输入框获取到了焦点,即我们键盘的输入是针对此输入框。示例:有四个输入框,我们在获得焦点的输入框输入时,文本颜色变为红色。

        这是没有任何选中的状态:

        当我尝试选中第一个文本输入框:

 


小总结

        对于 CSS 的选择器知识,单看一个知识点其实非常容易理解,其难度在于组合的使用。也许你会觉得靠死记硬背能提高 CSS 的水平,其实通过代码的练习最为直接有效。就像一堆乐高积木,其难度并不是记住哪些模块是什么形状,二十通过各种积木的拼接、组合、搭建,我们能组建期望的建组,能塑造精致的人物,记住搭建的步骤固然重要,但是更有价值的经验一定在搭建过程中获得,即实践出真知。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值