没有 Javascript 的响应式导航栏,仅使用 HTML 和 CSS

Posted

技术标签:

【中文标题】没有 Javascript 的响应式导航栏,仅使用 HTML 和 CSS【英文标题】:Responsive navigation bar without Javascript, using only HTML and CSS 【发布时间】:2021-12-30 06:18:26 【问题描述】:

让我的导航栏响应时遇到了问题。我知道我需要使用媒体查询,但我是一个初学者,我真的不知道如何将它作为一个列表来实现。没有javascript可以做到这一点吗?现在代码看起来像这样,一个简单的列表:

<div id="nav">
        <ul>
            <li><a class="active" href="index.html"><b>HOME</b></a></li>
            <li><a href="works.html">WORKS</a></li>
            <li><a href="about.html">ABOUT</a></li>
        </ul>
    </div>

【问题讨论】:

欢迎来到 SO,请提供您已经制作的 CSS 以及您想要做什么? 【参考方案1】:

如果您想更改不同视口的某些属性,您只需要媒体查询。查看下面的 sn-p 以获得简单的解决方案。

    <html>

    <head>
      <style>
        body 
          padding: 0;
          margin: 0;
        

        .navbar 
          display: flex;
          background-color: #FF5C5C;
          font-family: sans-serif;
        

        ul 
          display: flex;
          flex-direction: row;
          list-style: none;
        

        ul>li>a 
          padding: 0 12px;
          color: white;
          font-size: 12px;
        

        @media screen and (max-width: 992px) 
          ul>li>a 
            font-size: 16px;
            padding: 0 6px;
          

          .navbar 
            background-color: #2689B9;
            background: linear-gradient(to right, #40B6C0 40%, #2689B9 80%);
          

        
      </style>
    </head>

    <body>

      <div class="navbar">
          <ul>
            <li><a class="active" href="index.html"><b>HOME</b></a></li>
            <li><a href="works.html">WORKS</a></li>
            <li><a href="about.html">ABOUT</a></li>
          </ul>
        </div>

    </body>

    </html>

【讨论】:

谢谢,这行得通。唯一的问题是导航栏被放置在中心,同时通过 Chrome 上的响应式设计模式查看。我怎样才能把它放在左边? 嗯。我没有得到那个结果。它停靠在我的左侧。也许您的页面没有设置为移动视口。尝试在你的 标签中添加这个 &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" /&gt; 我设法解决了它,不知何故有一个隐藏元素阻止了它。但是,谢谢您的回答,它挽救了我的一天! :)

以上是关于没有 Javascript 的响应式导航栏,仅使用 HTML 和 CSS的主要内容,如果未能解决你的问题,请参考以下文章

@media 查询未在我的响应式导航栏设计中运行?

响应式导航栏布局空间

响应式导航栏隐藏其下方的元素

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

Javascript 在下拉响应式菜单栏中不起作用

在 Bootstrap 中禁用响应式(移动)导航栏