关闭

CSS3 nth-child的使用,详解css中nth的作用,以及nth-child的兼容写法

时间: 2017-11-01阅读: 2638标签: 兼容

:nth-child是css3的一个比较常用的选择器。它用于匹配属于其父元素中的子元素,不论元素的类型。 它的参数可以是数字、关键词或公式。下面讲介绍它的使用方法,

nth-child的使用 

html结构如下:

<div class="demo">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
</div>
只选取第2个元素
.demo p:nth-child(2){color:#f00}
/*数字2为红色。参数只为数字,代表选取的是第几个元素,注意不是从0开始的*/

选取第2个及之后的元素

.demo p:nth-child(n+2){color:#f00}
/*数字2,3,4为红色。n+数字,代表选取数字后面所有的元素*/

选取第2个及之前的元素

.demo p:nth-child(-n+2){color:#f00}
/*数字1,2为红色。-n+数字,代表选取数字之前所有的元素*/

选择奇数的元素

.demo p:nth-child(odd){color:#f00}
.demo p:nth-child(2n-1){color:#f00}
/*数字1,3为红色。odd等同于2n-1的写法*/

选择偶数的元素

.demo p:nth-child(even){color:#f00}
.demo p:nth-child(2n){color:#f00}
/*数字2,4为红色。even等同于2n的写法*/

选择间隔为a,偏移为吧的元素

使用公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值 。

.demo p:nth-child(3n+2){color:#f00}
/*数字2为红色。从2开始,间隔为3*/

nth-child的兼容

通过:first-child属性:

.demo p:first-child{color:#f00;}/*选取第一个*/ .demo p:first-child+p+p{color:#f00;}/*选取第三个*/

通过>来实现

.demo>p+p{ color:#f00;}/*第2级之后的元素*/

通过jquery的js来实现

$(document).ready(function(){
         $(".demo p:nth-child(2)").css("color","#f00");
});
/*需要引入jquery文件*/

Css3其他类似选择器

:nth-of-type() 选择器 ——选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素. n 可以是数字、关键词或公式。与:nth-child(n)不同的是后者与类型无关。

:first-of-type 选择器匹配属于其父元素的特定类型的首个子元素的每个元素。 提示:等同于 :nth-of-type(1)。  

:last-of-type 选择器匹配属于其父元素的特定类型的最后一个子元素的每个元素。 提示:等同于 :nth-last-of-type(1)。

:only-of-type 选择器匹配属于其父元素的特定类型的唯一子元素的每个元素。  

:nth-last-child(n) 选择器匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。n 可以是数字、关键词或公式。 提示:请参阅 :nth-last-of-type() 选择器,该选择器选取父元素的第 N 个指定类型的子元素,从最后一个子元素开始计数。

 :nth-last-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素,从最后一个子元素开始计数。n 可以是数字、关键词或公式。 提示:请参阅 :nth-last-child() 选择器,该选择器选取父元素的第 N 个子元素,与类型无关,从最后一个子元素开始计数。 

:last-child 选择器匹配属于其父元素的最后一个子元素的每个元素。 提示:p:last-child 等同于 p:nth-last-child(1)。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/41

关闭

谈谈浏览器的兼容性(面试题)

H5新标签在IE9以下的浏览器识别 ;ul标签内外边距问题ul标签在IE6\\\\IE7中,有个默认的外边距,但是在IE8以上及其他浏览器中有个默认的内边距。解决方法:统一设置ul的内外边距为0

低版本IE兼容汇总

JSON未定义;IE8下jquery报错:意外地调用了方法或属性访问;IE10以下不支持placeholder属性;IE7、8 parseInt处理0开头字符串异常问题;IE报错缺少标识符、字符串或数字

如何解决css3浏览器兼容?

css3作为页面样式的表现语言,增加了很多新的属性,但是部分css3属性在一些浏览器上还处于试验阶段,所以为了有效的显示css3的样式,对应不同的浏览器内核需要不同的前缀声明。

用JS写个兼容IE8浏览器的类选择器

有时我们项目中会尽量使用原生js,这种情况下连最简单的类选择器可能都要进行兼容性处理。getElementsByClassName是后来引入的,历史不如getElementById和getElementsByTagName。越是新的特性,浏览器的兼容相对就越差。

解决低版本IE下,console报错未定义

因为公司常常要求支持IE浏览器,测试人员会使用低版本的IE进行操作。如果js代码中含有console.log进行调试,在低版本IE下会报错

es6之解构赋值

es6的语法已经出了很长的时间了,在使用上也可以通过babel这类的编译工具转译为浏览器可以识别的es5的语法,这篇文章主要会介绍解构赋值基本用法以及在实际使用场景中相比es5语法的优势

CSS 3中-webkit-, -moz-, -o-, -ms-这些私有前缀的含义和兼容

css3作为页面样式的表现语言,增加了很多新的属性,但是部分css3属性在一些浏览器上还处于试验阶段,所以为了有效的显示css3的样式,对应不同的浏览器内核需要不同的前缀声明。

vue-cli3配置IE浏览器兼容性

在查询如何兼容ie时,首先是查看vue cli官网,浏览器兼容性,感觉官网说的不是太明晰(小白一枚,实在不太懂),然后就直接百度了,网上方法基本类似,都是用 browserslist,babel-polyfill等

css定义变量_css原生变量的使用和兼容 附带还有更高性能,文件更高压缩率的好处

在开发中,css样式有一些属性往往需要重复使用,为了避免代码冗余,降低维护成本。我们需要使用CSS预编译工具【Sass/Less/Stylus】,随着这些工具的流行,CSS变量也开始规范制定,目前很多浏览器都已经支持了

js强制不使用兼容性视图

在IE8浏览器以后版本,都有一个“兼容性视图”,让不少新技术无法使用。那么如何禁止浏览器自动选择“兼容性视图”,强制IE以最高级别的可用模式显示内容呢?X-UA-Compatible是一个设置IE浏览器兼容模式的属性,在IE8浏览器之后诞生。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!