css中:nth-child()和nth-of-type有何区别详解

简介: css中:nth-child()和nth-of-type有何区别详解

div p:nth-child(n)  :找到div元素下面的第n个子元素  并且此元素类型为p  如果类型不是p则无效


div  p:nth-of-type(n)  :找到div元素下面的第n个p元素  (无论第一个p元素之前有多少个兄弟元素 此选择器只会从第一个p元素开始查找  应用场景:在一个大父元素中有很多子元素  但是只需要对第n个p元素进行选择的时候  一个一个数在第几个位置过于麻烦并且不现实)


<style>
         /* 选中box中第2个元素  */
        .box p:nth-child(2){
background-color: red;
        }
        /* 直接选中box 下面第2个span类型的元素 */
        .box span:nth-of-type(2){   
            display: inline-block;
            width: 20px;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="box">
        <p>1</p>
        <p>2</p>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>5</span>
    </div>
</body>

效果为:

2f02dcd4c87f852dbfc60e62495aef64_49c8b226faad426ead6ae0f5b8650216.png

如图  选中了box下的第二个子元素nth-child(2) 红色


直接选中了box下的第二个span  nth-of-type(2) 蓝色  并不受前面有多少个p的影响


如果改为:


<style>
         /* 选中box中第2个元素  */
        .box span:nth-child(2){
background-color: red;
        }
        /* 直接选中box 下面第一个span类型的元素 */
        .box span:nth-of-type(2){   
            display: inline-block;
            width: 20px;
            background-color: blue;
        }
    </style>

那么会由于 .box 下面的第二个元素不是span 而是p   导致此选择无效


d108d5232c7a52da4a3819f283676865_f66d31dd2e76410e8b3199d19278b0ff.png


相关文章
|
15天前
|
前端开发 Ruby
CSS 预编语言的区别
【10月更文挑战第24天】Sass、Less 和 Stylus 等 CSS 预编语言在语法特点、功能特性、性能表现、社区和生态系统等方面存在着不同之处。在选择使用哪种预编语言时,需要综合考虑项目需求、团队技术偏好、个人习惯等因素。你可以根据具体情况进行评估和选择,以充分发挥这些语言的优势,提高前端开发的效率和质量。
|
15天前
|
前端开发 开发者 UED
设备像素、css像素、设备独立像素、dpr、ppi之间的区别
【10月更文挑战第24天】在实际应用中,这些概念相互关联,共同影响着网页在不同设备上的显示表现。开发者需要了解它们之间的区别和关系,以便更好地进行网页设计和优化,确保在各种设备上都能提供良好的用户体验。
|
5月前
|
编解码 前端开发 UED
解密CSS单位:px、em、vh的区别与应用
解密CSS单位:px、em、vh的区别与应用
60 1
WK
|
2月前
|
存储 移动开发 前端开发
HTML5和CSS5有什么区别
HTML5和CSS5在网页设计中扮演不同角色。HTML5是超文本标记语言的第五版,通过新特性如实时更新、跨平台运行及更好的安全性等,定义网页内容和结构。尽管常说CSS5,实际最新的CSS版本包含多个模块如CSS Grid和Flexbox,主要用于控制网页布局和样式,提供强大的选择器、动画支持和响应式设计,与HTML5相辅相成,共同构建现代网页的基础架构。
WK
47 3
|
1月前
|
前端开发 JavaScript
css的引入方式和区别
css的引入方式和区别
34 0
|
3月前
|
前端开发
css中px和em的区别
css中px和em的区别
60 0
|
3月前
|
前端开发
css中px和em的区别
css中px和em的区别
|
5月前
|
XML 前端开发 JavaScript
HTML、CSS、JavaScript有什么区别
HTML、CSS、JavaScript有什么区别
|
5月前
|
前端开发
技术经验分享:CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
技术经验分享:CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
35 0
|
5月前
|
前端开发
CSS伪类与伪元素的区别
CSS伪类与伪元素的区别
35 0

热门文章

最新文章