html - 选中复选框时应出现 css&html 导航栏
问题描述
我尝试使用两个同级选择器(~
,如代码片段和+
)在nav
选中该框时使栏出现,但它不起作用,我也不知道还能做什么。
nav {
left: -100%;
position: fixed;
}
#check:checked~nav {
left: 0;
}
<input type="checkbox" id="check"><label for="check"><i class="fas fa-bars"></i></label></div>
<nav>
<ul>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
</ul>
</nav>
解决方案
这是您的代码应该是什么样子,首先您有一个非封闭<div>
标签,并且对于+
兄弟选择移动复选框上方的标签。
nav{
left: -100%;
position: fixed;
}
#check:checked + nav{
left: 0px;
}
<label for="check"><i class="fas fa-bars"></i></label>
<input type="checkbox" id="check">
<nav>
<ul><li><a href="">Test</a></li>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
</ul>
</nav>
如果您希望标签具有相同的顺序,请将CSS
选择器更改为:
nav{
left: -100%;
position: fixed;
}
#check:checked + label + nav{
left: 0px;
}
<input type="checkbox" id="check">
<label for="check"><i class="fas fa-bars"></i></label>
<nav>
<ul>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
</ul>
</nav>
推荐阅读
- javascript - 从localStorage加载值后如何设置样式?
- javascript - 淡入 javascript 中的背景以及视频
- reactjs - 如何使用 Typescript 重构 React 中的道具?
- r - 在ggplot中结合geom_rect和facet_grid的麻烦
- boost - mingw 和 BOOST 预处理宏
- c++ - 在头文件中使用指令
- reactjs - Formik 表单不呈现
- yocto - 将 compile_commands.json 文件的路径提供给 coc-clangd
- c++ - 修改自定义对象的优先级队列顶部
- guzzle - 使用 Guzzle 的 TLS 1.3 请求