css - 如何仅隐藏父类的第一个元素
问题描述
我有以下标记:
.shwonlyclick {
display: none;
}
.asd>.delfirstdiv:first-child>.shwonlyclick:first-child {
display: block;
}
<div class="asd">
<div>title</div>
<div>sub title</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Show this</p>
</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Hide</p>
</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Hide</p>
</div>
</div>
所有标签都被隐藏了,我只想要第一个显示。如何?
解决方案
将您的标题和子标题移到父 div 之外并在选择器中修复您的错字,它将起作用:
first-child
是其父元素中的第一个元素(不是具有类名的第一个元素)
.shwonlyclick {
display: none;
}
.asd>.delfirstdiv:first-child>.shwonlyclick:first-child {
display:block;
}
<div>title</div>
<div>sub title</div>
<div class="asd">
<div class="delfirstdiv">
<p class="shwonlyclick">Show this</p>
</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Hide</p>
</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Hide</p>
</div>
</div>
如果您无法更改 html 布局,那么您可以使用相邻的兄弟组合器来隐藏任何跟随另一个的 div(这意味着显示第一个):
.delfirstdiv+.delfirstdiv .shwonlyclick {
display: none;
}
<div class="asd">
<div>title</div>
<div>sub title</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Show this</p>
</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Hide</p>
</div>
<div class="delfirstdiv">
<p class="shwonlyclick">Hide</p>
</div>
</div>
推荐阅读
- javascript - 将画布图像发送到 Spring Boot 控制器
- pdf - 在两个关键字/标签之间批量编辑/替换pdf中的文本
- linux-kernel - 在上下文切换期间如何保存当前上下文?
- memory - 如何计算页表大小
- python - Python -- 将工作目录设置为源
- javascript - 如何添加产品并在网站上展示?
- python - 熊猫排序功能无法识别列
- soap - 来自 Tableau Server 的参数化 SOAP 请求
- python - 运行 Python Selenium 测试脚本时出现“加载资源失败:net::ERR_HTTP2_PROTOCOL_ERROR”
- django - 通过 Django 的 {% url %} 模板标签传递多个参数