css - 定位第一个未隐藏的孩子
问题描述
我有一个类的 div,.box-container
它可以包含几个类的 div .legend-panel
,我只想将一些样式应用于未隐藏在盒子容器中的第一个孩子。
我是 scss 的新手,所以我到达的目标是第一个孩子,但不是更多。
.legend-panel:first-child{
bottom: 2.5em;
}
谢谢你的帮助。
解决方案
您可以混合使用 not 和同级选择器来实现您想要的。以下假设您正在使用隐藏类来隐藏您的元素
.hidden {
display:none;
}
.legend-panel:not(.hidden):first-child, /* this styles the first visible if it is the first child */
.legend-panel.hidden + .legend-panel:not(.hidden) { /* this will style thie first show following a hidden panel */
color:red;
}
.legend-panel:not(.hidden):first-child ~ .legend-panel,
.legend-panel.hidden + .legend-panel:not(.hidden) ~ .legend-panel { /* these will reset all following visible back to original */
color: initial;
}
<div class="box-container">
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel">
show - first
</div>
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel">
show - not styled
</div>
</div>
<div class="box-container">
<div class="legend-panel">
show - first
</div>
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel hidden">
hide
</div>
<div class="legend-panel">
show - not styled
</div>
<div class="legend-panel hidden">
hide
</div>
</div>
推荐阅读
- bash - CAT 忽略换行符
- reactjs - 如何在handleSubmit 中打开一个对话框?
- java - 在 Android Studio 中构建项目
- javascript - Webpack 开发中间件用于登录和主应用程序的单独页面
- html2pdf - 如何处理对于 Html2Pdf 中的页面来说太长的表格单元格
- oracle - Oracle:在游标声明中使用自定义函数
- arrays - bsearch 与结构数组
- youtube-api - YouTube API 来获取相关游戏?
- python - 有没有更好的方法来使用 numpy 创建滚动扩展平均函数?[Python]
- azure - Azure 数据工厂:从 blob 读取文件一次并将其放入两个数据库