css伪类:last-child或:first-child不生效

目录

一、问题

二、原因及解决方法

三、总结


tiips:如嫌繁琐,直接移步总结即可!

一、问题

1.想使用伪类:last-child给 for循环出来的最后一个元素单独添加样式。但是发现无论怎么写都没有添加上去。

2.真是奇怪呀,明明写的没有问题呀,但是检查元素的时候确实看不到样式。

二、原因及解决方法

1.预期效果:最后一个元素 红色;最后一个元素绿色

    html如下,效果如下图2-1所示

<template><div class="test-area"><divclass="test-box"v-for="(firstItem, firstKey) of firstData":key="firstKey">{{ firstItem.label }}</div><div class="other-area"></div></div>
</template>
<script lang="scss" scoped>.test-area {color: #333;.test-box {&:last-child {color: green;}&:first-child {color: red;}}}
</script>
图 2-1

2.为什么 最后一个元素不是绿色呢? 为什么 :first-child可以,:last-child不生效呢

检查元素,发现第一个元素添加了 :frist-child伪类样式,最后一个元素却没有。如图2-2所示

图 2-2

3.删除        <div class="other-area"></div>   竟然好了

图 2-3

4.把   <div class="other-area"></div> 放在第一个test-box前面,:first-child竟然失效了!!!!!!

图 2-4

5.原因::first-child只在被选中的第一个元素前面没有其他元素才生效;

 :last-child只在被选中的最后一个元素后面没有其他元素时才生效

上面的代码中.test-box:last-child后面还有同级的元素 other-area,所以不生效

6.解决方法:在被循环的test-box外面添加一个父盒子如图2-5所示

代码如下:

<template><div class="test-area"><div class="box-area"><divclass="test-box"v-for="(firstItem, firstKey) of firstData":key="firstKey">{{ firstItem.label }}</div></div><div class="other-area"></div></div></template>
<script lang="scss" scoped>.test-area {color: #333;.test-box {&:last-child {color: green;}&:first-child {color: red;}}}
</script>

三、总结

1. :first-child,:last-child生效的前提

:first-child只在被选中的第一个元素前面没有其他元素才生效;

 :last-child只在被选中的最后一个元素后面没有其他元素时才生效

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599626.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux ARM 裸机】开发环境搭建

1、Ubuntu 和 Windows 文件互传 使用过程中&#xff0c;要频繁进行 Ubuntu 和 Windows 的文件互传&#xff0c;需要使用 FTP 服务&#xff1b; 1.1、开启 Ubuntu 下的 FTP 服务 //安装 FTP 服务 sudo apt-get install vsftpd //修改配置文件 sudo vi /etc/vsftpd.conf//重启…

(Git) gitignore基础使用

文章目录 前言.gitignore 模式匹配注释 #转义 \直接匹配任意字符匹配 *单个字符匹配 ?目录分割 /多级目录 **范围匹配 []取消匹配 ! 检查是否生效父子文件END 前言 Git - gitignore Documentation (git-scm.com) 在使用git管理的项目中&#xff0c;可以通过.gitignore文件管理…

Vue3与TypeScript中动态加载图片资源的解决之道

在前端开发中&#xff0c;Vue.js已成为一个备受欢迎的框架&#xff0c;尤其是在构建单页面应用时。Vue3的发布更是带来了许多性能优化和新特性&#xff0c;而TypeScript的加入则进一步提升了代码的可维护性和健壮性。然而&#xff0c;在实际的项目开发中&#xff0c;我们有时会…

前端组件化探索:打造创意Canvas绘图小程序的关键技术与实现

摘要 在前端开发领域&#xff0c;Canvas 绘图已经成为了实现用户交互和视觉展示的重要手段。尤其在移动应用和小程序开发中&#xff0c;Canvas 的应用更为广泛。本文将结合一个实际的创意绘图小程序项目&#xff0c;探讨前端组件化技术在实现绘图功能中的关键作用&#xff0c;…

【分治算法】大整数乘法Python实现

文章目录 [toc]问题描述基础算法时间复杂性 优化算法时间复杂性 Python实现 个人主页&#xff1a;丷从心. 系列专栏&#xff1a;Python基础 学习指南&#xff1a;Python学习指南 问题描述 设 X X X和 Y Y Y都是 n n n位二进制整数&#xff0c;计算它们的乘积 X Y XY XY 基础…

uniapp - 微信小程序 - 使用uCharts的一些问题

文章目录 uniapp - 微信小程序 - 使用uCharts的一些问题一、开发者工具显示正常&#xff0c;真机调试统计图不随页面滚动二、数据过多开启滚动条&#xff0c;无法滑动滚动条三、饼图点击不显示提示窗/点击位置bug、多个同类型统计图点击不显示提示框问题四、 formatter 自定义 …

AURORA64B66B IP核使用

文章目录 前言一、IP核配置二、设计框图三、上板效果总结 前言 前面我们基于GT 64B66B设计了自定义PHY层&#xff0c;并且也介绍过了基于AURORA8B18B IP核的使用&#xff0c;AURORA8B18B IP核的使用可以说是与AURORA8B18B IP核完全一致&#xff0c;可参考前文&#xff1a;http…

simulink 的stm32 ADC模块输出在抽筋,不知为何

% outtypecast(uint16(1000),uint8) % 10003E8,E8232,out232 3 function [y,len] myfcn(u1) headuint8([255 85]);%帧头 out1typecast(uint16(u1),uint8); % out2typecast(uint16(u2),uint8); y[head,out1]; lenuint16(length(y)); 2023b版本&#xff0c;stm32硬件支持…

探索数据中心系统功能架构的演进与未来

随着信息技术的快速发展和数据规模的爆炸性增长&#xff0c;数据中心已经成为现代社会不可或缺的基础设施之一。数据中心系统功能架构的设计和演进对于数据中心的性能、效率和安全至关重要。本文将探讨数据中心系统功能架构的演进历程以及未来发展趋势。 随着云计算、大数据、…

IntelliJ IDEA - Since Maven 3.8.1 http repositories are blocked

问题描述 新下载的 IDEA 在构建项目时&#xff0c;在下载引用的包时出现 “Since Maven 3.8.1 http repositories are blocked” 的问题。 原因分析 从 Maven 3.8.1 开始&#xff0c;不再支持 http 的包了。由于现在对网络安全的日益重视&#xff0c;都在向 https 转变&#…

服务器主机安全受到危害的严重性

为了让小伙伴们了解到服务器主机安全受到危害的严重性&#xff0c;以下详细说明一下&#xff1a;1. 数据泄露&#xff1a;如果服务器主机遭受攻击&#xff0c;攻击者可能会窃取敏感数据&#xff0c;如用户数据、商业秘密、机密文件等&#xff0c;导致数据泄露和商业机密的泄漏。…

鸿蒙(HarmonyOS)APP开发实战课程(入门到精通)

2024培训课程 2024技术交流群 CSDN在线课程地址: https://edu.csdn.net/course/detail/39448 推荐阅读 鸿蒙Harmony OS核心架构 鸿蒙内核源码分析(系统调用篇) 鸿蒙(HarmonyOS)APP开发培训课程 鸿蒙(HarmonyOS)APP开发实战课程 鸿蒙系统&#xff08;HarmonyOS&#xff0…