在开发过程中,会碰到一些选择器的需求:
例如使列表中的第一项或者最后一项显示不同的样式 、列表中的奇数或者偶数项显示不同的背景色 . . . 等等。
我们可以通过 css 来实现这样的效果,CSS 给我们提供了几个样式参数:first-child、last-child、nth-child(n)。
下面介绍它们的使用方法:
first-child first-child:选择列表中的第一个标签。
举例:第一行字体显示为红色,代码如下:
li:first-child{
color: red;
}
last-child last-child:选择列表中的最后一个标签。
举例,最后一行字体显示为绿色,代码如下:
li:last-child{
color: green;
}
nth-child(n) nth-child(n):选择列表中的第 n 个标签。
举例:第三行字体显示为蓝色,代码如下:
li:nth-child(3){
color: blue;
}
nth-child(odd) nth-child(odd):选择列表的奇数行。
举例,奇数行背景显示为灰色,代码如下:
li:nth-child(odd){
background: #999;
}
我们可以通过另外的方法选择奇数行,例如: nth-child(n+1) 、 nth-child(2n-1) 等。
代码如下:
/*First*/
li:nth-child(n+1){
background: #999;
}
/*Second*/
li:nth-child(2n-1){
background: #999;
}
nth-child(even) nth-child(even):选择列表的偶数行。
举例:偶数行背景显示为土黄色(不要在意那些细节),代码如下:
li:nth-child(even){
background: #F6E0AF;
}
同样,我们可以通过另外的方法选择奇数行,例如: nth-child(2n) 。
代码如下:
li:nth-child(2n){
background: #F6E0AF;
}
上面的几种方法运行效果如下图:
上面是几种比较常见的选择方法,我们还可以通过 CSS 更灵活的进行选择,有下面几种方法:
nth-child(-n+n) nth-child(-n+n):选择第 n 个之前的元素(此处的 n 是后面的那个,下同)。
举例:前三行背景色设置为绿色,代码如下:
li:nth-child(-n+3){
background: #2cae1d;
}
nth-child(n+n) nth-child(n+n):选择第 n 个之后的元素。
举例:第五行及以后背景色设置为蓝色,代码如下:
li:nth-child(n+5){
background: #0ab1fc;
}
nth-last-child(n) nth-last-child(n):选择倒数第 n 个元素。
举例:倒数第三元素字体设置为红色,代码如下:
li:nth-last-child(3){
color: red;
}
同样可以使用上面的方法进行拓展,方法如下:
nth-last-child(n+n) nth-last-child(n+n):选择倒数第 n 个之前的元素。
举例:倒数第三个及之前的元素字体设置为粗体,代码如下:
li:nth-last-child(n+3){
font-weight: bold;
}
上面的几种方法运行效果如下图:
nth-last-child(3n) nth-last-child(3n):选择第 3、6、. . . 个元素,选择三的倍数。
举例:第3、6、 . . . 三的倍数行背景色设置为橙色,代码如下:
li:nth-child(3n){
background: orange;
}
nth-last-child(3n+1) nth-last-child(3n+1):选择第 1、4、7 个元素,从第一个开始每个递增三个。
举例:第1、4、7 . . . 行背景色设置为红色,代码如下:
li:nth-child(3n+1){
background: red;
}
上面的几种方法运行效果如下图:
当然,可能还有更多的使用方法,我在这只是简单的记录一下我常用的几种,也希望大家能够举一反三,能在项目中更好的利用起来。
arget作为目标伪类选择器,是css3中的新特性之一。URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。:target 选择器可用于选取当前活动的目标元素。
这篇文章主要讲解css中兄弟选择器的使用,以及+和~的区别有哪些?+ 选择器:如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。 ~ 选择器:作用是查找某一个指定元素的后面的所有兄弟结点。
jQuery 选择器 jQuery 选择器允许您对 HTML 元素组或单个元素进行操作, Jquery 选择器包括:基本选择器、层叠选择器 、基本过滤选择器 、内容过滤选择器、可视化过滤选择器.....
在CSS中 :focus-within 是一个伪类,CSS中伪类:focus-within能非常方便处理获取焦点状态, 当元素本身或其后代获得焦点时,:focus-within伪类的元素就会有效。
vue项目中,当<style>标签有scoped属性时,它的 CSS 样式只作用于当前组件中的元素,父组件的样式将不会渗透到子组件中。如果你希望 scoped 样式中的一个选择器能够作用得更深,例如影响子组件
空格:后代选择器,表示div元素里面所有的p元素。> 子选择器:表示div元素里面所有的子代(不含孙代及以后)p元素,~兄弟元素选择器:表示.cls元素往后的同级的p元素
总结30个CSS3选择器:*选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除浏览器默认样式的方法。
基础选择器是选择器的所有选择器的基本组成元素,也最简单,包含如下5个类别:ID选择器,标签选择器,类选择器,属性选择器,通配选择器
CSS3 中有很多表示元素序号的选择器,有以下几种:first-child、:first-of-type、:last-of-type、:only-of-type、:only-child、:nth-child(n)、:nth-last-child(n)、:nth-of-type(n)、:nth-last-of-type(n)、:last-child
目前支持的选择器有,在实践中我发现, 除了文档上说的几种选择器, 经过测试发现其实还有几种支持的选择器没有列举!还支持哪些选择器?
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!