CSS中last-child不生效该怎样处理呢?
Admin 2022-09-21 群英技术资讯 555 次浏览
今天我们来学习关于“CSS中last-child不生效该怎样处理呢?”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
在产品需求中,总有对第一个或者最后一个同类元素进行特殊的样式处理。
如果使用js来判断哪个是第一个、最后一个也并不是不可以。
但是,完全属于css
的管理范围为什么要去使用js
呢?
css选择器出场!
下面仅展示:last-child
效果
代码展示:
<template> <div class="root-container"> <div class="father"> <div class="child" v-for="item in 10" :key="item"> 一共10个元素,我是第{{item}}个 <template v-if="item== 10">(css控制我的颜色)</template> </div> </div> </div> </template> <style lang='scss' scoped> .father { width: 500px; border: 1px solid #b2b6b6; text-align: center; .child { padding: 10px 0; &:last-child { color: red; } } } </style>
展示的效果也和期望中的一样,最后一个元素文字为红色
但有时候:last-child
实现的却和想象中的 不太一样!!!!
代码如下:
<template> <div class="root-container"> <div class="father"> <div class="child" v-for="item in 10" :key="item"> 一共10个元素,我是第{{item}}个 <template v-if="item== 10">(css控制我的颜色)</template> </div> <p>我是多余的元素</p> </div> </div> </template> <style lang='scss' scoped> .father { width: 500px; border: 1px solid #b2b6b6; text-align: center; .child { padding: 10px 0; &:last-child { color: red; } } } </style>
看代码也可以看出来,仅仅是多了一个p标签
,明明把:last-child
是设置给了.child
,但是需要的效果却没有了。
为什么:last-child没有起作用?
3.1 el:last-child 的匹配规则
1.查找 el 选择器匹配元素的所有同级元素(siblings)
2.在同级元素中查找最后一个元素
3.检验最后一个元素是否与选择器 el 匹配
期望中的效果实现了,是因为el:last-child
匹配到的最后一个元素也是.child
。
非期望效果出现,是因为el:last-child
匹配到的最后一个元素也是p标签
而不是.child
。
方法1、
让:last-child
在其父元素内没有其它的标签,即让其父元素仅包含该种类型标签
方法2、
使用其它标签选择器:last-of-type
具体使用规则 :last-of-type — MDN
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CSS中行内元素与块级元素的不同在哪?因为在CSS中,不同元素标签被分为了行内元素和块级元素,很多新手在学习的时候容易混淆,对此本文就给大家来讲讲CSS中行内元素与块级元素的区别,及转换方法,感兴趣的朋友就继续往下看吧。
导航栏之前也做过……但都是很简单的一级导航栏或者用JQ实现的二级导航栏。但是关于页面展示的东西,还是应该由CSS来实现,JavaScript应该多负责动作。
text-indent属性规定文本块中首行文本的缩进。注释:允许使用负值。如果使用负值,那么首行会被缩进到左边。注意:在CSS2.1之前,text-indent总是继承计算值,而不是声明值。将段落的第一行缩进50像素:代码如下复制代码p{text-indent:50px;}text-indent:2em定义了文本缩进2em,em是相对长度单位,在这里你设置的字体大小有 ...
在css中,可以利用filter属性给图片添加模糊层效果,该属性的作用就是设置元素的可视效果,当该属性与“blur()”函数一起使用时,可以给图片添加模糊效果,语法为“图片元素{filter:blur(模糊值px);}”。
这篇文章主要介绍了css 实现文字过长自动隐藏功能,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008