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

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

: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.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

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

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

web浏览器在线兼容性测试工具_检测html网页在不同浏览器上的兼容问题

对于web前端开发者而言,为了确保html代码在不同浏览器上能正常工作,是一件很麻烦的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,下面就为大家推荐一下比较流行的web浏览器在线兼容性测试工具。

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

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

es6之解构赋值

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

vue不兼容安卓6.0以下版本,导致页面白屏

最近开发发现一个问题,貌似vue是不支持安卓6.0以下版本的安卓机的:但是最近需求又碰到了,就不得不解决这个问题,经过网上一大堆没用的查询之后,并没有找到真正可行的解决方案,于是使用vconsole在白屏的手机上打印了错误信息

谈谈浏览器兼容性问题

为什么浏览器会存在兼容问题?同一浏览器,版本越老,存在bug越多,相对于版本越新的浏览器,对新属性和标签、新特性支持越少。

vue项目中兼容ie8以上浏览器的配置

首先需要在根目录的index.html文件加入如下代码;安装babel-polyfill 插件;在入口文件main.js文件中引入插件;需要在webpack.base.config.js配置文件中做如下修改

低版本IE兼容汇总

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

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

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

原生js兼容写法_在ie标准下的兼容性写法

经常使用原生js,就要考虑到一些浏览器上的兼容,尤其是IE,下面就整理关于js的一些兼容性写法

原生js中6种常见的兼容问题以及解决方案

1.键盘检测兼容写方法;2.阻止冒泡事件冒泡的兼容;3.鼠标箭头事件对象的兼容;4.阻止浏览器默认事件兼容;5.获取非行间样式的兼容写法

点击更多...

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

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广