汉堡菜单不显示在响应式导航栏中

拉德瓦兰

你好,我是这个网络编程的新手,几天前才学会,并尝试制作我的响应式导航栏。我在 w3school 上找到了教程,我跟着它,并更改了一些代码,但它没有按预期工作。菜单成功折叠到所需的宽度,但汉堡菜单没有显示。我想我已经改变并与我的课程相匹配,但我不知道还有什么问题。

这是我迄今为止尝试过的:

.navSection {
    width: 100%;
    display: inline-table;
    line-height: 30px;
    background: #1c948a;
    z-index: 3;
    box-shadow: 0px 3px 5px 1px rgba(0, 0, 0, .3);
}

.navMenu .icon{
    display: none;
}

@media screen and (max-width: 700px) {
  .navMenu ul li:not(:first-child) {display: none;}
  .navMenu ul li.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 700px) {
  .navMenu.responsive {position: relative;}
  .navMenu.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .navMenu.responsive ul li {
    float: none;
    display: block;
    text-align: left;
  }
}

.navSectionWrapper {
    width: 90%;
    margin: auto;
}

.homelink {
    text-decoration: none;
}

.navlogo {
    width: 30%;
    height: 70px;
    float: left;
}

.logo {
    display: inline-block;
    font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
    color: #2C3E50;
    position: absolute;
}

.logoimg {
    height: 70px;
    float: left;
}

.logotext {
    font-weight: 600;
    float: right;
    line-height: 70px;
}

.logotext>span {
    color: white;
    text-shadow: 2px 2px 2px #33425B;
}

.navMenu {
    float: right;
    text-align: center;
    overflow: hidden;
}

.navMenu>ul {
    list-style: none;
}

.navMenu>ul>li {
    display: inline-block;
    line-height: 70px;
}

.navMenu>ul>li>a>span {
    color: white;
    font-weight: 700;
    font-size: 17px
}

.navMenu>ul>li>a {
    text-decoration: none;
    color: #2C3E50;
    font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
    font-weight: 600;
    margin: 10px
}

.navMenu>ul>li>a:hover {
    color: snow;
}
<div class="navSection">
        <div class="navSectionWrapper">
            <div class="navlogo">
                <a href="#" class="homelink">
                    <div class="logo">
                        <img src="img/logo.png" class="logoimg">
                        <h2 class="logotext">Let's<span>Go</span></h2>
                    </div>
                </a>
            </div>
            <div class="navMenu" id="mynavMenu">
                <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">Features</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">+<span>Download</span></a></li>
                    <li><a href="javascript:void(0);" class="icon" onclick="myFunction()">&#9776;</a></li>
                </ul>
            </div>
        </div>
    </div>
<script>
        function myFunction() {
            var x = document.getElementById("mynavMenu");
            if (x.className === "navMenu") {
                x.className += " responsive";
            } else {
                x.className = "navMenu";
            }
        }
</script>

谢谢你

迈克尔·科克

您的 HTML 使用,a.icon但您在 CSS 中使用li.icon. 将 移动class="icon"li而不是a.icon稍微修改了 CSS 你隐藏:not(:first-child())在响应式视图中,你要么想使用:not(:last-child)因为.icon是,:last-child要么只是:not(.icon)在那里使用

.navSection {
    width: 100%;
    display: inline-table;
    line-height: 30px;
    background: #1c948a;
    z-index: 3;
    box-shadow: 0px 3px 5px 1px rgba(0, 0, 0, .3);
}

.navMenu .icon{
    display: none;
    float: right;
}

@media screen and (max-width: 700px) {
  .navMenu ul li:not(.icon) {display: none;}
  .navMenu ul li.icon {
    display: block;
  }
}

@media screen and (max-width: 700px) {
  .navMenu.responsive {position: relative;}
  .navMenu.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .navMenu.responsive ul li {
    float: none;
    display: block;
    text-align: left;
  }
}

.navSectionWrapper {
    width: 90%;
    margin: auto;
}

.homelink {
    text-decoration: none;
}

.navlogo {
    width: 30%;
    height: 70px;
    float: left;
}

.logo {
    display: inline-block;
    font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
    color: #2C3E50;
    position: absolute;
}

.logoimg {
    height: 70px;
    float: left;
}

.logotext {
    font-weight: 600;
    float: right;
    line-height: 70px;
}

.logotext>span {
    color: white;
    text-shadow: 2px 2px 2px #33425B;
}

.navMenu {
    float: right;
    text-align: center;
    overflow: hidden;
}

.navMenu>ul {
    list-style: none;
}

.navMenu>ul>li {
    display: inline-block;
    line-height: 70px;
}

.navMenu>ul>li>a>span {
    color: white;
    font-weight: 700;
    font-size: 17px
}

.navMenu>ul>li>a {
    text-decoration: none;
    color: #2C3E50;
    font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
    font-weight: 600;
    margin: 10px
}

.navMenu>ul>li>a:hover {
    color: snow;
}
<div class="navSection">
        <div class="navSectionWrapper">
            <div class="navlogo">
                <a href="#" class="homelink">
                    <div class="logo">
                        <img src="img/logo.png" class="logoimg">
                        <h2 class="logotext">Let's<span>Go</span></h2>
                    </div>
                </a>
            </div>
            <div class="navMenu" id="mynavMenu">
                <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">Features</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">+<span>Download</span></a></li>
                    <li class="icon"><a href="javascript:void(0);" onclick="myFunction()">&#9776;</a></li>
                </ul>
            </div>
        </div>
    </div>
<script>
        function myFunction() {
            var x = document.getElementById("mynavMenu");
            if (x.className === "navMenu") {
                x.className += " responsive";
            } else {
                x.className = "navMenu";
            }
        }
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导航栏中的Bootsrap 4汉堡菜单

来自分类Dev

导航栏不显示子菜单

来自分类Dev

Bootstrap,汉堡包图标在导航栏中不响应

来自分类Dev

响应式导航栏在调整大小时不显示所有选项

来自分类Dev

汉堡菜单在Bootstrap3中不显示

来自分类Dev

Bootstrap导航栏汉堡菜单无法打开

来自分类Dev

按钮不显示在导航栏中

来自分类Dev

导航栏不显示

来自分类Dev

Bootstrap-导航栏折叠菜单不显示

来自分类Dev

导航抽屉不显示汉堡图标

来自分类Dev

Android导航抽屉不显示汉堡

来自分类Dev

响应式导航栏切换菜单jQuery

来自分类Dev

Bootstrap 3响应式菜单-导航栏间距问题

来自分类Dev

Bootstrap 4 灵活的响应式导航栏菜单

来自分类Dev

通过jQuery响应式汉堡菜单

来自分类Dev

2级响应式菜单不显示块

来自分类Dev

汉堡菜单导致导航栏元素落在导航之外

来自分类Dev

导航抽屉:无法在儿童活动的工具栏上显示后退图标,而不显示汉堡包图标

来自分类Dev

如何在我的 React 导航栏中实现汉堡包下拉菜单

来自分类Dev

导航栏不显示标题

来自分类Dev

WKWebView不显示导航栏

来自分类Dev

导航栏项目不显示

来自分类Dev

菜单栏不显示

来自分类Dev

侧边栏菜单不显示?

来自分类Dev

Angular UI Bootstrap响应式导航栏下拉菜单在新版本中无法正常工作

来自分类Dev

响应式设计导航菜单

来自分类Dev

响应式引导导航菜单

来自分类Dev

响应式设计导航菜单

来自分类Dev

响应式导航栏问题