CSS 兄弟选择器未触发

标签 css html

我的 CSS 中有以下内容(在 Debug模式下显示了复选框,但最终会隐藏):

<style type="text/css">
* { margin: 0; padding: 0; font-family: sans-serif; }
#nav-trigger { display: none; }
#nav-icon { display: none; }
#navigation { display: block; }
nav     { width: 100%; text-align: center; }
nav ul  { float: right; line-height: 50px; }
nav li  { display: inline; list-style-type: none; }
nav a   { text-decoration: none; padding: 10px; color: #999; }
nav a:hover { color: #C00; }

@media screen and (max-width: 480px) {
nav ul  { display: block; float: none; margin-top: 50px; background-color: #C00; }
nav li  { display: block; }
nav a   { display: block; padding: 3px; border-bottom: 1px dotted #CCC; }
nav a:hover { color: #FFF;}

#nav-trigger { display: block; }
#navigation { display: none; }
#nav-icon { font-size:32px;display:block;position:relative;width:40px;height:40px;text-align:center;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;margin-left:auto;margin-right:8px; }
#nav-icon::before { content:"";position:absolute;top:.25em;left:4px;width:1em;height:.125em;color:#fff;border-top:.375em double #ddd;border-bottom:.125em solid #ddd;box-sizing:content-box }
#nav-trigger:checked ~ #navigation { display: block; }
}
</style>

我的 HTML:

<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" id="nav-icon"></label>
<nav id="navigation">    
    <ul>
        <li><a href="#">Link 1</a>
        <li><a href="#">Link 2</a>
        <li><a href="#">Link 3</a>
        <li><a href="#">Link 4</a>
    </ul>
</nav>

我的导航在调整窗口大小时是响应式的,当小于 480 像素时隐藏导航菜单,并且显示我的汉堡包图标,但是当我单击该图标(或相应的复选框)时我的菜单没有出现。我的 CSS 兄弟选择器(我的 CSS 的最后一行)有一些关系问题。

尽量远离 JavaScript/JQuery。

需要一些帮助!

谢谢!

最佳答案

您应该将 jQuery 用于“检查操作”:

$(document).ready(function() {  
    $('#nav-trigger').change(function() {
       if($(this).is(":checked")){
          $('#navigation').show();
       } else { 
          $('#navigation').hide();
       }
    });
});

阅读更多: http://api.jquery.com/change/

关于CSS 兄弟选择器未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087218/

相关文章:

php - 在最小化/最大化期间滑动图像对齐变化

html - 使跨度表现得像一个按钮

jquery - CSS、jQuery 和 Navigation Control——需要一个小的调整

html - 文本缩进在 ie7 中不起作用

javascript - 我如何将其从 jQuery 转换为 vanilla JS?

javascript - 从选择框中删除重复条目

c# - 从 html 文件中获取 javascript 代码

css - 在可调整的 div 中居中图像

css - 多模态同一页面

html - 建一个HTML表格,TD宽度不均匀