javascript - 如何将 bootstrap 4 导航保持在桌面标题下方,但在移动设备上方

标签 javascript html css twitter-bootstrap bootstrap-4

我正在使用 bootstrap 4 网格布局。第一行仅包含标题。第二行包含垂直导航,我通过将它放在同一行中来保持与内容对齐。但是,我只想在桌面版中将标题保留在内容和导航上方。我希望导航在移动时位于左上角。以下是我通过复制标题使用的解决方案。有没有更好的方法达到同样的效果?

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<div class="container">
  <div class="row hidden-sm-down">
    <div class="col">
      <h1 class="text-center">Desktop Header</h1>
    </div>
  </div>
  <div class="row">
    <!--Nav Bar-->
    <div class="col-md-3 col-lg-2 push-md-8">
      <div class="bootstrap-vertical-nav">
        <button class="btn btn-primary hidden-md-up" type="button" data-toggle="collapse" data-target="#collapseElement" aria-expanded="false" aria-controls="collapseElement">
              <span class="fa fa-navicon"></span>
            </button>
        <div class="collapse fill-gutter" id="collapseElement">
          <ul class="nav flex-column">
            <li class="nav-item">
              <a class="nav-link" href="#">Link 1</a>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <!--End Nav Bar-->
    <div class="col-md-8 col-lg-9 pull-md-3">
      <h1 class="text-center hidden-md-up">Mobile header</h1>
      <div class="row" id="page_body">
        <h2>Content Goes Here</h2>
      </div>
    </div>
  </div>
</div>

最佳答案

有一种方法可以检查浏览器是来自手机还是pc。

var filter = "win16|win32|win64|mac|macintel";
var deviceType = "";

if (navigator.platform ) {
    console.log(navigator.platform);
    if (filter.indexOf(navigator.platform.toLowerCase()) < 0) {
        deviceType = "MOBILE";
    } else {
        deviceType = "PC";
    }
    console.log(deviceType);
}

然后制作您想要在每个设备上显示的单独的 css 代码。

但是如果不想用这个,就得用media Query

关于javascript - 如何将 bootstrap 4 导航保持在桌面标题下方,但在移动设备上方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46269668/

相关文章:

html - 无法垂直对齐 TD 内的文本

html - 如何让 Google reCAPTCHA 100% 宽

html - 某些 Li 元素显示为空白,但添加新 CSS 后链接在那里

javascript - 未捕获的 TypeError : r. getClientRects 不是函数 jquery.min.js:2

javascript - 有没有办法使用 document.write 但写入正文顶部?

javascript - 如何防止计数器递增超过元素的高度?

javascript - 图片点击用 iframe 替换图片

javascript - 验证用户在 Google-Sheets 上输入的时间

javascript - 仅在 Firefox (JQuery) 文本字段的开始和结束时不触发按键事件

html - 尝试错开 Material Design 卡片并使其均匀分布在行中