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

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

: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)。


X5内核浏览器,video兼容

使用vue-video-player在移动端微信内置浏览器打开,点击视频自动全屏问题。 参考官方 API 是 H5 同层浏览器的原因,可通过设置video属性来处理。

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

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

前端常见的CSS兼容性问题

双倍浮动BUG;表单元素行高不一致;IE6(默认16px为最小)不识别较小高度的标签(一般为10px);图片添加超链接时,在IE浏览器中会有蓝色的边框;最小高度min-height不兼容IE6

谈谈浏览器兼容性问题

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

border-radius:50%,在安卓上存在兼容问题

做移动端开发时为了做适配,通常采用rem作为单位,下面来写一个圆角,相同的代码,有的是正圆,有的不是,ios,pc均显示正常

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

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

如何只在IE上加载CSS样式表

IE一直是特殊的一个浏览器,我们可以使用一些方法来指定样式表只在IE浏览器下被加载。IE9以及低于IE9版本 :可以使用条件注释语句来加载特定于ie的样式表。如下所示,使用外部css3样式表。

使用X-UA-Compatible来设置IE浏览器兼容模式

文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。

低版本IE兼容汇总

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

js强制不使用兼容性视图

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

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

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

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