分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

(CSS):last-child与:last-of-type区别

发布时间:2023-09-06 01:52责任编辑:赖小花关键词:CSS

对比了一下W3CSchool 中针对伪类选择器 :last-child 以及 :last-of-type的描述,如下:

:last-child ?????p:last-child ?????选择属于其父元素最后一个子元素每个 <p> 元素。:last-of-type ???p:last-of-type ???选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

说句老实话,在不懂这两个关系的时候,越看这两句描述,越是别扭,绕口,难懂,查阅网上资料搞懂了以后,就觉得说的还是蛮有道理的。

以一段代码为例:

<!DOCTYPE html><html><head> ???<meta charset="utf-8"> ???<title>last-child 和 last-of-type区别</title> ???<style type="text/css"> ???????p:last-child{ ???????????color: red; ???????} ???????p:last-of-type{ ???????????color: blue; ???????} ???</style></head><body> ???<div> ???????<p>第一行</p> ???????<p>第二行</p> ???????<p>第三行</p> ????????<span>我是测试行</span> ???</div> </body></html>

运行的结果显示:没有任何一行显示为红色,第三行显示为蓝色。或许你可能会觉得两个选择器选中的是同一行,但是当你注释掉蓝色选择器的时候会发现,红色依然未被选中。

其实红色未被选中的原因很简单,上篇文章已经讲过,这里简单的描述一下

:last-child选择父节点最后一个子节点,并且与选择器进行匹配, 父节点div的最后一个节点是span,而匹配的选择器是p,两者不对应所以匹配不上。

而另外一个选择器

:last-of-type是从父节点的子节点中寻找最后一个与选择器相同的子节点,也就是说,这次寻找的并不是最后一个节点,而是最后一个P元素节点,所以只能找到第三行了。

(CSS):last-child与:last-of-type区别

原文地址:https://www.cnblogs.com/whbniit/p/8996987.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved