CSS常用选择器实践

网友投稿 675 2022-05-30

CSS3选择器

1、标签选择器

顾名思义,标签选择器就是用标签名称作为选择器。

1.1、样例代码

Title

1.2、效果图

1.3、说明

尽管标签选择器用起来很简便,但缺点也很明显。 1、在一个复杂的页面或构图中,一定会有很多同名标签,那么多个元素就会共享相同的样式,本来共享是好事,能节约代码量,但问题出在共享的粒度实在太粗了,可能经常会出现我们预料之外的效果。 2、我们希望代码尽量语义化,也就是让我们的代码读起来就像读自然语言一样,这样便于理解和维护,但标准的HTML标签名并不能体现具体的业务含义。

2、类选择器

类选择器是指为元素指定一个class属性,也称为样式类,然后在样式表中通过这个属性值来引用元素。在CSS中以.class-name的格式来选择对应的元素。

2.1、样例代码

Title

2.2、效果图

2.3、说明

可以为每个元素起不同的类名来区分每个元素,如red、yellow和green,也可以为有共同属性的元素起相同的类名,如light,还可以为一个元素分配多个类名,多个类名间用空格分隔,如light red。

3、后代选择器

DOM结构是树状结构,也就是元素可以一层一层地嵌套,便于有条理地组织内容。相应地,对于内层元素的类选择器,为了提高可读性,我们应该让它体现出DOM的层次结构,按照“父类 子类”的格式来书写。

3.1、样例代码

Title

3.2、效果图

3.3、说明

使用后代选择器,从技术上是为了避免选择到超出范围的元素,更重要的是,这样写能使语义更清晰,令CSS选择器与DOM结构保持同样的层级关系,例如.tree.branch .leaf就体现了“树干→树枝→树叶”这样的递进结构。

4、伪类选择器

伪类选择器用于选择处于特殊位置或状态的元素,例如选择一堆元素中的第1个或最后一个元素,或者隔一个选一个元素,或者选择处于鼠标指针悬停状态的元素。下面是其中几个常用的:

4.1、:first-child和:last-child

从名称一望即知,:first-child用于选择第1个元素,:last-child用于选择最后一个元素。

Title

4.2、:nth-child()

:nth-child()伪类较为广泛的用法是:nth-child(odd)和:nth-child(even),其中:nth-child(odd)表示选择所有第奇数个元素,:nth-child(even)表示选择所有第偶数个元素。

Title

4.3、:nth-child(an+b)

:nth-child()函数还可以接收一个形如an+b的表达式作为参数,其中a和b是整数,n是从0开始的自然数列,由此表达式得到的数列,即为被选中的元素的下标,元素的下标从1开始计算。

Title

4.5、:not()

:not()伪类用于排除掉一些元素,例如:not(:first-child)表示排除掉第1个元素,:not(:nth-child(3))表示排除掉第3个元素。

CSS常用选择器实践

Title

以上样例是从100个数字中挑选出素数,把素数的背景设置为橙色。这里的选择器共有5行。前4行分别把数字2、3、5、7标明为素数。第5行很长,我们拆开看,它的第1部分是.prime-numbers div,意思是所有

元素都被选中(被当作素数),后面跟随了5个:not()选择器,用于排除掉不是素数的数::not(:nth-child(1))排除掉了第1个数,因为数字1不是素数,接下来:not(:nth-child(2n))排除掉了所有能被数字2整除的数,再接下来的:not(:nth-child(3n))、:not(:nth-child(5n))、:not(:nth-child(7n))排除掉了所有能被数字3、5、7整数的数,以上这些选择器都是连缀着一路写下来的,最后的::before表示设置选择的是以上剩余的元素的伪元素。

4.6、:hover

:hover表示当鼠标指针悬停在元素上时的状态,这个样式的用途是告知用户当前鼠标指针指在哪个元素上,我们经常在导航菜单、表单按钮上见到这种交互方式。

Title

E
L
E
M
E
N
T
S

设置鼠标指针悬停在字母上时的样式,其中的transform用于把字母变大;transition用于增加缓动效果,也就是字母不是一下子变大的,而是在0.5s内逐渐变大的。

CSS HTML

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:智能化是矿业发展的必然趋势
下一篇:UCOS学习笔记——任务相关的API函数的使用
相关文章