css -- 为什么:last-child 无效?
在产品需求中,总有对第一个或者最后一个同类元素进行特殊的样式处理。
如果使用js来判断哪个是第一个、最后一个也并不是不可以。
但是,完全属于css
的管理范围为什么要去使用js
呢?
css选择器出场!
下面仅展示:last-child
效果
1.期望效果
代码展示:
<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>
展示的效果也和期望中的一样,最后一个元素文字为红色
2. 非期望效果
但有时候: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
,但是需要的效果却没有了。
3. 分析问题
为什么:last-child没有起作用?
3.1 el:last-child 的匹配规则
- 1.查找 el 选择器匹配元素的所有同级元素(siblings)
- 2.在同级元素中查找最后一个元素
- 3.检验最后一个元素是否与选择器 el 匹配
期望中的效果实现了,是因为el:last-child
匹配到的最后一个元素也是.child
。
非期望效果出现,是因为el:last-child
匹配到的最后一个元素也是p标签
而不是.child
。
4. 解决办法
方法1、
让:last-child
在其父元素内没有其它的标签,即让其父元素仅包含该种类型标签
方法2、
使用其它标签选择器:last-of-type
具体使用规则 :last-of-type — MDN
css -- 为什么:last-child 无效?相关推荐
- css样式属性值无效问题
我出现的问题是单位写错导致css样式属性值无效,如图所示,倾斜度单位是deg而不是dep,原因:对此单位不熟悉: 经过看其他人文章发现还有可能出现以下问题: 1.css写属性值,一个标签的中括号后面加 ...
- 前端开发审查元素时CSS样式有个横线(该CSS样式定义后无效) 的解决办法
问题概述 关于这个问题,博主是在前端开发,样式调试的时候遇到的, 进行盒模型,CSS Debugger调试时,遇到样式设值后不可用的情况! 如下图: 解决办法 左看右看,上看下看,最终发现是前面在编码 ...
- html怎么防止左边溢出,css防止溢出 css+div 溢出隐藏 无效
div+css 为什么div内的div总会溢出,怎么解决 明明设定的宽度是一样的,为什么会里面的div会出来呢,CSS布局HTML小编今天和大家分享解决办法 除了宽以外你还设置了什么? 你把宽度设置好 ...
- html中隐藏溢出怎么写,html溢出隐藏代码 css+div 溢出隐藏 无效
css+div 溢出隐藏 无效 隐藏图片超出div部分代码如何写的? 把图片作为div的背景图片是最容易实现你所要的效果的方式: 如果一定要用img标签那就要css和js结合才能实现了: 请html代 ...
- 【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案
[写在前面]vue3在vscode运行正常.build后在IDEA运行正常,但是当部署在服务器上运行发现样式加载不出来,下面我们针对这些情况进行复现与解决. 一.问题分析 困扰我好久,当即百度原因,百 ...
- css表格宽度设置无效
table-layout: fixed table-layout: fixed,table和td设置宽度有效,但在第一行有合并列的情况时,列宽会被均分,从而导致td设置宽度无效(table宽度仍然有效 ...
- css 文字溢出隐藏 css 文字溢出隐藏无效解决办法
作为一个码农,css技术有时候网上cv来的更方便一些,溢出隐藏显示...,网上百度了两个小时,居然没一个正确的??现在网上都怎么了,我表示很服气,而且他们是一模一样的代码,请这些人都确定了正确性在发出 ...
- 在CSS布局中max-width 无效的解决方法
max-width 无效的解决方法: width:100% 和 max-width:100%的区别: width: 100%是将所有指定元素的宽度 拉伸或收缩到和父元素的宽度一致, 而max-widt ...
- CSS文字超出省略号无效
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 在使用上面三条属性时,文字并没有出现省略号,使用display: blo ...
- 解决animate.css在谷歌浏览器下无效,动画没了的问题
最新文章
- linux 安装程序丢失链接动态库,Linux安装软件过程中提示缺少动态链接库.so的解决方法...
- Codeforces Round #462 (Div. 2) C. A Twisty Movement dp + 思维转换
- SpringBoot2整合Activiti6工作流框架 源码
- Hostiko v54.0 – WordPress WHMCS-云服务器VPS主机销售模板源码
- 苹果汽车真是全自动驾驶?分析师称不要指望有方向盘
- android 模仿uc标签页,android模仿UC首页天气效果
- 如何将网站前端如何添加登录密码访问_如何在Mac上查找保存的密码的所有信息...
- android 代码混淆原理,Android 代码混淆
- LCD1602的四线驱动
- (MTT)连续能量函数最小化方法
- python cad 二次开发bom_python处理BOM
- PHP开源CRM客户管理系统源码介绍分享
- No Matter What
- 我们如何在Linkerd 2.2里设计重试 1
- 图观——渲染一个简易的三维场景
- Oracle官网用户名密码
- Redis 实现搜索关键词自动补全
- Android基于红米系列手机读取本地图片路径失败的解决方案
- SimpleMind Pro for Mac(思维导图)中文完整版
- 狠!删库跑路!一行代码蒸发10亿人民币!
热门文章
- word出现错误报告的解决办法
- linux添加fcitx输入法,Ubuntu下轻松安装FCITX输入法
- NodeJS 爬取lol英雄数据信息
- java json去掉中括号,去掉json中的中括号
- 微信小程序 java理发店美容院预约系统springboot
- c语言输入一个三位数由小到大排序,c语言程序设计练习题.doc
- 全球及中国航空机电开关行业重点领域需求及未来发展展望报告2022-2028年
- 庄股高手和你谈选股绝招(2)
- 新塘单片机烧写器_ICP Programming Tool下载|新唐单片机烧录工具ICP Programming Tool v3.00.6909 官方版 下载 - 巴士下载站...
- 人民币为什么会贬值?