【问题标题】:keep hamburger menu inline with logo保持汉堡菜单与徽标内联
【发布时间】:2017-10-21 23:39:36
【问题描述】:

我正在使用标准导航栏引导程序 4 汉堡菜单进入较小的屏幕,但是,在较小的屏幕上进行测试时,它会包裹在导航栏品牌位置下方,我似乎无法找到 css 的特定部分使其与徽标浮动在同一行。它的问题在于它会在较小的屏幕上遮挡其下方的标题,这对于移动观看者来说并不理想。

我正在为最新的 bootstrap 4 Beta 使用 CDN

这是我正在玩的页面的链接:link:

谁能指出我正确的方向?非常感谢!

我得到的 HTML 如下:

HTML:

    <nav class="navbar navbar-expand-sm bg-light navbar-light fixed-top">
    <div class="container-fluid navbrand">
    <a href="index.html" class="navbar-brand"><img src="img/sflogo.png" style="width:80%;height:80%;"/></a>
      <button class="navbar-toggler" data-toggle="collapse" data-target="#hamburgerMenu"><span class="navbar-toggler-icon"></span></button>
      <div class="collapse navbar-collapse" id="hamburgerMenu" style="opacity:1;">
        <ul class="navbar-nav ml-auto">
          <li class="nav-item"><a href="#" class="nav-link">Home</a></li>
          <li class="nav-item"><a href="#" class="nav-link">About</a></li>
          <li class="nav-item"><a href="#" class="nav-link">Services</a></li>
          <li class="nav-item"><a href="#" class="nav-link">Contact</a></li>
        </ul>
      </div>
    </div>
  </nav>
  <header id="home-section">
  <img src="img/headbg.jpg" style="width:100%; height:auto;" />
  </header>
  <div class="underhead">
     We have "Goods In Transit" Insurance!<br />
     <span style="font-weight:normal;">Rest assured all your items will be covered during your move.</span>
  </div>

CSS 是:

body {
    background-color: #fff;
    color: #f2e000;
}

.navbar-light .navbar-brand {
    font-weight:bold;
    color: #f2e000;
}

.navbar-light .navbar-nav .nav-link {
    color: #333;
}

.container .navbar-brand:hover {
    color: #000;
}

.navbar {
    opacity: 0.8;
}

.nav-link {
    font-weight:bolder;
    font-size: 20px;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    color: #f2e000;
}

#home-section {
margin-top:4.5em;
}

.underhead {
    background:#f2e000;
    color:#333;
    text-align:center;
    font-weight:bold;
    font-size:2vw;
    width:100%;
    padding:20px;
}

@media (max-width:500px) {
    .underhead {
        font-size: 0.8em;
    }
}

@media (max-width: 460px) {
    .navbrand img {
        width:40%;
        height:40%;
    }
}

【问题讨论】:

  • 您能否将您的代码添加到问题中。 Stackoverflow 是一个协作网站,更多人可以从您目前遇到的类似问题的答案中受益。请阅读:How to ask | Minimal, Complete and Verifiable Example
  • &lt;br&gt;&lt;img&gt; 标签不使用或不需要结束斜线。
  • 你说得对 Rob,我猜我是老派,仍然保留旧的 pre html4 天!哈!
  • HTML 从来没有用于标签的斜线。不知道您对 pre-HTML4 是什么意思。它从未被指定,所以我不知道你为什么会这样做。我已经这样做了 17 年,从来没有在那里放过斜线。它绝对不在任何 HTML 规范中。
  • 它用于 xhtml 的 void 标签,今天显然不再需要,但旧习惯很难改掉。

标签: html css twitter-bootstrap hamburger-menu


【解决方案1】:

您可以通过调整 css 更改来做到这一点:

 @media (max-width: 575px) {
    button.navbar-toggler {
        position: absolute !important;
        right: 10px !important;
        top: 14px !important;
    }
 }

【讨论】:

  • 这确实为移动设备解决了这个问题,而不是在 Firefox 上;说实话并不重要!我应该使用绝对位置,有点金发的时刻!谢谢!
  • 您好,我也在 Firefox 上检查过它,它似乎在那里工作正常。 :)
  • 可能是我的浏览器,我运行它的开发版本,所以它可能是错误的,这几天似乎是火狐!感谢您检查好友!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多