原文链接

前言

前端开发中,我们有时候要为第一个或最后一个元素设置进行某些特殊的操作。CSS默认为我们提供了:last-child和:first-child选择器, 但是在实际使用中,要特别需要注意一个点。

开始

:last-child: 指定属于其父元素的最后一个子元素的 p 元素的背景色。(来自W3C的官方描述)

实践

HTML:

<div class="div1"><h1>这是标题</h1><p>第一个段落。</p><div class="div2"><p>p, 第二个段落。</p><p>p, 第三个段落。</p><p>p, 第四个段落。</p><div class="div3">div, 我是最后的元素。</div></div><p>p, 第五个段落。</p>
</div>    

CSS:

.div1{border: solid 1px green;
}
.div2{border: solid 1px orange;
}
.div3{border: solid 1px blue;
}
p:last-child
{background: pink;
}

效果图:

分析

在.div2中,最后一个元素为div标签,并未被:last-child选中。你可能会觉得,选择器中写的是p标签,没有选中div元素是理所当然的。

很多时候我们的需求是选中同一类名的最后一个元素,类似于.className:last-child。这时候你会发现如果父元素的最后一个元素不是.className的元素,它同样不会被选中。(可以将有同一类名的元素包裹一个父div已达到效果)

总结

select:last-child: 选择父元素的最后一个子元素,且同时满足select条件的。两者缺一不可!

本文给出的例子相对简单,只分析了:last-child, :first-child也是同样的。希望大家自己多动手实践实践,或许能有不同的收获呢,加油↖(^ω^)↗(了解更多)

嘘寒问暖 不如打笔巨款~

CSS: :last-child 与 :first-child的坑相关推荐

  1. html选择器有哪些child,css3选择器child有哪些?css3选择器child用法详解

    本篇文章给大家带来的内容是关于css3选择器child有哪些?css3选择器child用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 对于CSS3的结构伪类选择器,为了更好地 ...

  2. antd 覆盖css样式不生效(antd避坑)

    正确:直接复制类名, 不要整理格式! .MaxBox {background: #fff;min-height: 100vh;overflow: hidden;:global {.ant-form-i ...

  3. 最里层的是child元素

    1. 简介 A convenience widget that combines common painting, positioning, and sizing widgets. Container ...

  4. vue createElement后删除这个元素 the node to be removed is not a child of this node

    项目场景: 描述:做的项目需要生成一行script标签后使用完再删除这个标签,以保持文件的简洁 例如:再一个html里的生产一个script标签,使用完成后再删除这个script标签 问题描述: 提示 ...

  5. C++ Parent和Child继承分析

    继续分析 1.继承实例分析 2.class Parent 1.继承实例分析 #include <iostream> #include <stdio.h> #include &l ...

  6. 1.定义一个Father和Child类,并进行测试。 要求如下: 1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。 2)Child

    1.定义一个Father和Child类,并进行测试.  要求如下:  1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为"zhangjun" ...

  7. Cocoscreator报错 ERROR: Uncaught Error: child already added. It can't be added again

    报错的的代码: this.parent.addChild(this.child); 非常简单的添加子节点的代码(也可以理解为添加父级) 运行的时候莫名奇妙的就爆出: ERROR: Uncaught E ...

  8. 在nodejs中创建child process

    文章目录 简介 child process 异步创建进程 同步创建进程 简介 nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操 ...

  9. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  10. “〜”(波浪号/波浪形/旋转)CSS选择器是什么意思?

    本文翻译自:What does the "~" (tilde/squiggle/twiddle) CSS selector mean? Searching for the ~ ch ...

最新文章

  1. 【Python】unicode' object is not callable
  2. 如何快速重置打印队列
  3. python量化交易策略实例_Python进阶量化交易场外篇3——最大回撤评价策略风险...
  4. MySQL光标的使用
  5. 灰度调节_网关实现灰度发布
  6. rabbitmq原理总结,Java反射的简单入门
  7. 了解java虚拟机mdash;串行回收器(6)
  8. linux如何删除密钥链接,如何在不创建新密钥的情况下删除SSH密钥的密码短语?...
  9. Discuz代码分析:getgpc($k, $t='GP')获取超全局数组值
  10. android平板和ipad区别,为什么说买平板必须买ipad?那么安卓平板和iPad到底有什么区别?...
  11. xp系统怎么弄清微软服务器名称,xp系统如何做远程服务器呢
  12. mysql双活脑裂_从两地三中心到双活数据中心
  13. css:浏览器中文字显示模糊的原因及处理方案
  14. 有什么软件可以搜JAVA题答案_可以搜简答题答案及解析的软件app或者公众号有吗?...
  15. 【AutoSAR】【MCAL】CAN
  16. linux下设置共享目录
  17. 数据结构(四)—— 线性表的链式存储
  18. 信息技术 安全技术 信息安全管理体系 要求
  19. PHP友情链接检测,www.jsphp.net友情链接查询结果 - 站长工具
  20. python爬虫之爬取百度网盘

热门文章

  1. CSS css选择器 jquery jQuery选择器的优先级 XXX XX X xxx xx x
  2. HT74153 6V/2A/1.2MHz 同步降压转换器 IC
  3. Oracle入门笔记(二)——SQL Developer的基本使用
  4. 总有你值得一试的python开源项目
  5. NMT(神经机器翻译Neural Machine Translation)常用术语
  6. Python量化学习笔记03——量化投资——以Python为工具 Part01-C03
  7. carla: PTV-Vissim协同仿真
  8. ajax使用频率,AJAX轮询频率 - 要长期轮询还是不轮询长轮询?
  9. 麒麟信安推出“一云多芯”信创云桌面解决方案
  10. linux查看hex编码,小弟我使用过的Linux命令之hexdump - ”十六“进制查看器