html - " :checked " 这个属性不工作
问题描述
我的 HTML 代码如下所示:
<nav>
<ul class="nav-links">
<li class="hvr-shutter-out-horizontal"><a href="#">Login</a></li>
<li class="hvr-shutter-out-horizontal"><a href="#">About Us</a></li>
<li class="hvr-shutter-out-horizontal"><a href="#">Donate</a></li>
<li class="hvr-shutter-out-horizontal"><a href="#">Feedback</a></li>
<li class="hvr-shutter-out-horizontal"><a href="#">Contact Us</a></li>
</ul>
</nav>
<label for="toggle">☰</label>
<input type="checkbox" id="toggle">
而css文件是
.nav-links {
text-align: center;
font-size: 15px;
width: 100%;
display: none;
}
#toggle:checked + .nav-links{
display: block;
}
但是这里检查的属性不起作用。请帮忙 。
解决方案
.nav-links
不是输入之后的下一个,而是它nav
之前的两个兄弟姐妹的孩子。
没有针对前一个元素的组合器。
切换菜单最好使用 JavaScript 实现,它可以切换元素上的类aria
并向 DOM 添加合适的状态。
推荐阅读
- c# - 反序列化JSON对象数组,但是当数组包含1个对象时,数组被省略
- javascript - 如何使用 Angular 和 Spring Boot 下载文件
- html - shinydashboard 增加仪表板页面的大小
- azure-devops - Azure DevOps 和 Teams - 一个组组来控制两者的成员资格
- python - 如何有效比较所有模型的准确性
- netlogo - 如何在带有另一个变量的补丁中计算具有某个变量的海龟?
- c# - 如何缩短到属性的路径?
- sql - sql oracle:当类型不存在时获取空值
- c# - 找不到非核心应用程序的模块“AspNetCoreModule”
- css - MacOS Chrome 水平滚动条没有消失