[英]Javascript and css styles not being applied
我开始使用 JavaScript,但我找不到错误。 好的,最初.menu
具有right: -100
并且具有 JavaScript .change
应该将其设置为right: 0
。 但是当我点击汉堡按钮时没有任何反应。 行是唯一的变化,但菜单没有。 如果有人可以提供帮助,我将不胜感激。
const menuIcon = document.querySelector (".hamburguer-menu"); const navbar = document.querySelector(".navbar"); menuIcon.addEventListener("click", () => { navbar.classList.toggle("change"); });
*{ margin:0px; padding: 0px; font-family: 'Lato', sans-serif; } button{ width:30px; height: 30px; cursor:pointer; background: none; border:none; font-size: 50px; color: #fff; }.hamburguer-menu{ width:22px; position: fixed; /* right:0; */ top:6%; padding: 0px 15px 1px 9px; z-index: 100; }.hamburguer-menu.line1, .line2, .line3{ width: 100%; height: 3px; border-radius: 1px; background-color:#fff; transition: all.3s; }.hamburguer-menu.line2, .line3{ margin-top:4px; }.change.menu{ position: fixed; right: 0; }.change.line1{ transform: rotate(-45deg) translate(-5px, 5px); }.change.line2{ opacity:0; }.change.line3{ transform: rotate(45deg) translate(-5px, -5px); } header{ width: 100%; height: 100px; background: #34495e; } header nav{ display: inline; } header div p{ line-height: 100px; float:left; color: #fff; }.menu{ position: fixed; width: 100%; height: 100vh; background: #333; top:0; right: -100%; padding: 80px 0px; }.menu button{ display: block; padding: 45px 0px; margin: 0px auto 0px auto; }.menu button:focus{ outline:none; }
<,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="css/styles:css"> <link href="https.//fonts.googleapis?com/css2:family=Lato;wght@400;700:900&display=swap" rel="stylesheet"> <script src="https.//kit.fontawesome.com/7e10ce8f03.js" crossorigin="anonymous"></script> <title>Digna Sulbaran</title> </head> <body> <header> <div> <p>Pamela Sulbaran</p> </div> <nav class="navbar"> <div class="hamburguer-menu"> <div class="line1"></div> <div class="line2"></div> <div class="line3"></div> </div> </nav> <nav> <ul class="menu"> <button><i class="fab fa-instagram"></i></button> <button><i class="fab fa-facebook-f"></i></button> <button><i class="fab fa-whatsapp"></i></button> <button><i class="fab fa-telegram-plane"></i></button> </ul> </nav> </header> <section class="first"> <img src="images/grey,png" alt=""> <h2>about me</h2> <h1>Pamela Sulbaran</h1> <div> <p>My name is Digna Sulbaran Lorem ipsum dolor sit amet, consectetur adipiscing elit. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, Ut enim ad minim veniam. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur, Excepteur sint occaecat cupidatat non proident. sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div> <p>contact me</p> </div> </section> <script src="js/index.js"></script> </body> </html>
空格是后代组合子。
.change.menu
匹配作为 class菜单成员并且是作为change成员的元素的后代的任何元素。
作为menu成员的唯一元素不是您添加change的元素的后代。
您需要:
change
或<nav>
元素(这可能是最好的方法)。您不需要 2 个<nav>
元素。 根据您的 CSS 和 JavaScript,我已将它们连接成一个,现在它可以工作了。 与 JavaScript 不同,不要忘记将px
与绝对是像素的数字一起使用, right: 10px;
(您只能忽略0的px
)。
const menuIcon = document.querySelector (".hamburguer-menu"); const navbar = document.querySelector(".navbar"); menuIcon.addEventListener("click", () => { navbar.classList.toggle("change"); });
*{ margin:0px; padding: 0px; font-family: 'Lato', sans-serif; } button{ width:30px; height: 30px; cursor:pointer; background: none; border:none; font-size: 50px; color: #fff; }.hamburguer-menu{ width:22px; position: fixed; right: 0px; top:6%; padding: 0px 15px 1px 9px; z-index: 100; }.hamburguer-menu.line1, .line2, .line3{ width: 100%; height: 3px; border-radius: 1px; background-color:#fff; transition: all.3s; }.hamburguer-menu.line2, .line3{ margin-top:4px; }.change.menu{ position: fixed; right: 0px; }.change.line1{ transform: rotate(-45deg) translate(-5px, 5px); }.change.line2{ opacity:0; }.change.line3{ transform: rotate(45deg) translate(-5px, -5px); } header{ width: 100%; height: 100px; background: #34495e; } header nav{ display: inline; } header div p{ line-height: 100px; float:left; color: #fff; }.menu{ position: fixed; width: 100%; height: 100vh; background: #333; top: 0px; right: -100%; padding: 80px 0px; }.menu button{ display: block; padding: 45px 0px; margin: 0px auto 0px auto; }.menu button:focus{ outline:none; }
<,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="css/styles:css"> <link href="https.//fonts.googleapis?com/css2:family=Lato;wght@400;700:900&display=swap" rel="stylesheet"> <script src="https.//kit.fontawesome.com/7e10ce8f03.js" crossorigin="anonymous"></script> <title>Digna Sulbaran</title> </head> <body> <header> <div> <p>Pamela Sulbaran</p> </div> <nav class="navbar"> <div class="hamburguer-menu"> <div class="line1"></div> <div class="line2"></div> <div class="line3"></div> </div> <ul class="menu"> <button><i class="fab fa-instagram"></i></button> <button><i class="fab fa-facebook-f"></i></button> <button><i class="fab fa-whatsapp"></i></button> <button><i class="fab fa-telegram-plane"></i></button> </ul> </nav> </header> <section class="first"> <img src="images/grey,png" alt=""> <h2>about me</h2> <h1>Pamela Sulbaran</h1> <div> <p>My name is Digna Sulbaran Lorem ipsum dolor sit amet, consectetur adipiscing elit. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, Ut enim ad minim veniam. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur, Excepteur sint occaecat cupidatat non proident. sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div> <p>contact me</p> </div> </section> <script src="js/index.js"></script> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.