css3中的nth-child和nth-of-type的区别

实例:

首先创建一个HTML结构

<div class="post">
    <p>我是文章的第一段落</p>
    <p>我是文章的第二段落</p>
</div>

接下来使用:.nth-child和nth-of-type选择并改变其文字颜色

 .post>p:nth-child(2){
            color: red;
        }

.post>p:nth-of-type(2){
            color: red;
        }

现在在段落一前面加上一个标题1

<div class="post">
    <h1>我是标题1</h1>
    <p>我是文章的第一段落</p>
    <p>我是文章的第二段落</p>
</div>

再次使用:.nth-child和nth-of-type选择并改变其文字颜色

 .post>p:nth-child(2){
            color: red;
        }

 .post>p:nth-of-type(2){
            color: red;}

nth-child 包含两层意思,首先是一个段落元素,这个段落元素的父元素“div”的第二份子元素,而“nth-of-type”的意思是选择父元素的段落2

如果在“h1”标题后面添加h2标题,此时“p:nth-child(2)”将无法选择任何元素,以为此时“div”的第二个元素并不是段落一“p”所以无法选择任何元素。但“p:nth-of-type(2)”仍然能正常工作,因为选择的始终是“div”中的第二个段落“p”

切记切记  “nth-child”选择的是父元素的子元素,这个子元素并没有指定确切类型,同时满足两个条件时,方能有效果:其一是子元素,其二是子元素刚好处在哪个位置上(也就是说所有子元素中位置为nth-child括号内指定的数字,且类型为nth-child前的元素类型生效,否则不生效);“nth-of-type”选择的是某父元素的子元素,而且这个元素是指定类型(也就是说子元素类型为指定的类型中排在括号内指定的数字的节点)

真的绕口,还是看示例吧。。。。。。。。

时间: 2024-10-07 10:37:04

css3中的nth-child和nth-of-type的区别的相关文章

英文单词断行问题:CSS中word-break、word-wrap以及hyphens的兼容性和区别

CSS中一提到单词断行,最先映入脑海的肯定是word-break和word-wrap这两条属性.但对于这两条属性到底有什么区别,兼容性如何,我一直都概念模糊.今天抽空把它们以及CSS3中新加入的断行属性之间的区别和作用理理清楚,做一下笔记. 在英文段落中有时会碰到一些很长的单词,这些单词的长度超出容器宽度.在默认的页面文档中,如果单词长度超出了单行,会被自动移到下一行中,图中puzzling!就被自动换行了:而如果单词本身的长度已经超出容器宽度,常规的文档对此就没有约束力了,图中dddddd…这

IE6/7兼容伪类、IE9以下兼容颜色渐变、IE8以下兼容nth:child(n)

1.IE6/7兼容伪类 _1.CSS部分:一个有冒号,一个是空格分隔.前者IE8+及其他现代浏览器:后者为IE6-7准备的 #test:before, #test before{ content: attr(data-content); width: 0; height: 0; } _2.HTML部分 <div id="test"  data-content=""></div> 设置content _3.JS部分 设置IE6/7 var $b

css3中的变形(transform)、过渡(transtion)、动画(animation)

Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一起来看看CSS3中transform的旋转rotate.扭曲skew.缩放scale和移动translate具体如何实现,老样子,我们就从transform的语法开始吧.是构成transtion和animation的基础. 语法: transform : none | <transform-func

理解CSS3中的background-size(对响应性图片等比例缩放)

2016-03-10 01:40 by 空智, 7463 阅读, 8 评论, 收藏, 编辑 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用background-size:400px 200px缩放设置 固定宽度400px和高度200px-使用background-size:400px;的缩放设置,那么第二个参数会自动转换为auto 固定宽度400px和高度200px-使用background-size:100% 100%

css3中关于伪类的使用

目标: css中after伪类,last-child伪类的使用.以及部分css3的属性. 过程: 在制作导航时,经常会遇到在每一个li后面添加一个分割符号,到最后一个元素的时候,分割符就会去掉的一种效果. 如图 那么制作这样的一个效果,怎么用纯css很简单的完成了.这里用到了css的伪类. html部分 <body> <ul class="nav"> <li><a href="">Home</a></

CSS3中REM使用详解

在页面中设置字体,我们知道有常见的两种,px 和 em. px 在Web页面制作中,我们一般使用"px"来设置我们的文本,因为他比较稳定和精确.但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小(虽然一般人不会去改变浏览器字体大小),这时会使用我们的Web页面布局被打破,这时就提出了使用"em"来定义Web页面的字体. em 一般都是body的font-size为基准常用写法: 01 02 03 04 05 06 07 0

CSS3中的变形处理

在css3中,可以利用transform功能实现文字或图像的旋转.缩放.倾斜.移动这4种类型的变形处理. 变形--旋转 rotate() div.box{transform: rotate(45deg);} /*顺时针旋转45度*/ 变形--扭曲 skew() div.box{transform:skew(45deg);} /*通过skew()函数将长方形变成平行四边形. Skew()具有三种情况: 1.skew(x,y)使元素在水平和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行扭曲变形)

CSS3中的变形与动画

CSS3变形--旋转 rotate() 旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转.它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度.如果这个值为正值,元素相对原点中心顺时针旋转:如果这个值为负值,元素相对原点中心逆时针旋转.如下图所示: HTML代码: <div class="wrapper"> <div></div> </div> CSS代码: .wrapper { width: 200px; he

CSS3中动画属性transform、transition和animation

Transform:变形 在网页设计中,CSS被习惯性的理解为擅长表现静态样式,动态的元素必须借助于javascript才可以实现,而CSS3的出现改变了这一思维方式.CSS3除了增加革命性的创新功能外,还提供了对动画的支持,可以用来实现旋转.缩放.平移.扭曲和过渡效果等等,这些功能再一次证明了CSS3功能的强大和无限潜能. CSS3实现元素变形的基础来源于新增的transform属性,该属性可用于实现元素的旋转.缩放.平移.扭曲等效果.目前webkit内核支持-webkit-transform

CSS3中的media媒体查询

媒体查询多用于响应式网页中. 1.初始化设置: 在HTML文件中,网页顶部<head></head>标签中插入一句话: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 这句话在于对响应式网页做一个初始化设置,主要包括: name="viewport&quo