简体   繁体   English

工作导航但切换不打开

[英]working navigation but toggle does not open

After nearly a week I am still struggling with toggle on navigation.将近一周后,我仍在努力切换导航。 This is my current CSS, what I need to do now, is simply get the toggle to open, it did open before so something minor is stopping it now but I cant work it out.这是我目前的 CSS,我现在需要做的就是打开切换开关,它之前确实打开过,所以现在有些小问题正在停止它,但我无法解决。 I do not really know much about CSS as I keep forgetting it, but I do not know javascript or jquery我对 CSS 不太了解,因为我一直忘记它,但我不知道 javascript 或 jquery

 .nav { background-color: #3333FF; width: 100%; }.menu label, #hamburger { display: none; }.menu ul { font-family: Monserrat, sans-serif; font-size: 18px; color: white; list-style-type: none; margin: 0; padding: 0; }.menu ul li { text-align: center; display: inline-block; padding: 10px; width: 11.11%; }.menu ul li a { color: #fff; text-decoration: none; }.menu li:visited { background: #0000EE; color: #fff; }.menu li:active, .active { background: #0000EE; color: #fff; }.menu li:hover { background: #0000EE; color: #fff; } label { margin: 0 20px 0 0; font-size: 20px; line-height: 44px; display: none; } #toggle { display: none; } /* Show Hamburger */ @media screen and (max-width: 768px) {.nav { background-color: #3333FF; width: 100%; } ```.menu label { display: inline-block; color: #fff; background-color: #3333FF; padding-bottom: 8px; }.menu ul { display: none; }.menu ul li { display: block; border-top: 1px solid #333; }.menu ul li:active { display: block; }.menu label { cursor: pointer; margin: 0 20px 0 0; font-size: 20px; font-weight: bold; line-height: 44px; display: block; } #toggle:checked+.menu { display: block; }
 <div class="nav"> <div class="menu"> <label for="toggle">&#9776;</label><input type="checkbox" id="toggle"> <ul> <li><a href="http://index.html">Home</a></li> <li><a href=" http://news.html">News</a></li> <li><a href="http://contacts.html">Contacts</a></li> <li><a href="http://policies.html">Policies</a></li> <li class="active"><a href="http://members.html">Members</a></li> <li><a href="http://volunteer.html">Volunteer</a></li> <li><a href="http://links.html">Links</a></li> </ul> </div> </div>

Just change your selector from:只需将您的选择器更改为:

#toggle:checked+.menu {
    display: block;
}

to:至:

#toggle:checked+ ul {
   display: block;
}

See snippets below:请参阅下面的片段:

 .nav { background-color: #3333FF; width: 100%; }.menu label, #hamburger { display: none; }.menu ul { font-family: Monserrat, sans-serif; font-size: 18px; color: white; list-style-type: none; margin: 0; padding: 0; }.menu ul li { text-align: center; display: inline-block; padding: 10px; width: 11.11%; }.menu ul li a { color: #fff; text-decoration: none; }.menu li:visited { background: #0000EE; color: #fff; }.menu li:active, .active { background: #0000EE; color: #fff; }.menu li:hover { background: #0000EE; color: #fff; } label { margin: 0 20px 0 0; font-size: 20px; line-height: 44px; display: none; } #toggle { display: none; } /* Show Hamburger */ @media screen and (max-width: 768px) {.nav { background-color: #3333FF; width: 100%; }.menu label { display: inline-block; color: #fff; background-color: #3333FF; padding-bottom: 8px; }.menu ul { display: none; }.menu ul li { display: block; border-top: 1px solid #333; }.menu ul li:active { display: block; }.menu label { cursor: pointer; margin: 0 20px 0 0; font-size: 20px; font-weight: bold; line-height: 44px; display: block; } #toggle:checked+ul { display: block; }
 <div class="nav"> <div class="menu"> <label for="toggle">&#9776;</label><input type="checkbox" id="toggle"> <ul> <li><a href="http://index.html">Home</a></li> <li><a href=" http://news.html">News</a></li> <li><a href="http://contacts.html">Contacts</a></li> <li><a href="http://policies.html">Policies</a></li> <li class="active"><a href="http://members.html">Members</a></li> <li><a href="http://volunteer.html">Volunteer</a></li> <li><a href="http://links.html">Links</a></li> </ul> </div> </div>

Here is an example for this.这是一个例子。 You can try this code.你可以试试这段代码。 It is fully tested.它经过全面测试。 I hope it will help you.我希望它会帮助你。 You can change colors and backgrounds as per needed in this code.您可以根据此代码中的需要更改 colors 和背景。

 nav ul ul { display: none; } nav ul ul li { float: none; } nav li { float: left; list-style-type: none; } nav li a { text-decoration: none; display: inline-block; margin: 10px 20px 5px 0; padding: 8px 10px; } nav li a:link, nav li a:visited { color: #646565; background: #e8e9eb; } nav li a:link:hover, nav li a:visited:hover { color: black; } nav li:hover ul { display: block; position: absolute; } input.toggle, label.toggle { display: none; } label.toggle { font-weight: 900; font-size: 1.2em; padding: 10px 20px; } @media (max-width: 960px) { nav { display: none; } input.toggle, .toggle span { display: none; } input[type=checkbox]:checked ~ nav, label.toggle { display: block; cursor: pointer; } nav li { float: none; } nav li:hover ul { display: block; position: relative; } nav li ul { display: block; } nav li ul li { margin-left: 20px; } nav li a { display: block; margin-left: 20px; } }
 <div class="wrapper"> <label class="toggle" for="toggle">&#9776; <span>Menue</span></label> <input class="toggle" id="toggle" type="checkbox"> <nav> <ul> <li class="current"><a href="http://index.html">Home</a></li> <li><a href=" http://news.html">News</a></li> <li><a href="http://contacts.html">Contacts</a></li> <li><a href="http://policies.html">Policies</a></li> <li><a href="http://members.html">Members</a></li> <li><a href="http://volunteer.html">Volunteer</a></li> <li><a href="http://links.html">Links</a></li> </ul> </nav> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM