Bootstrap 首次加载时,导航栏在 Safari 中出现在 2 行上

Bootstrap navbar appearing on 2 lines in Safari on first load

这是我的导航栏代码:

<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container-fluid">
    <button type="button" class="navbar-nav btn btn-default navbar-btn navbar-left previous_page" style="display:inline-block">
      <span class="glyphicon glyphicon-menu-left"></span>
      back
    </button>

    <div class="text-center" id="progress-bar" style="display:inline-block">
      <div data-page="0" class="counter active"></div>
      <div data-page="1" class="counter "></div>
      <div data-page="2" class="counter "></div>
      <div data-page="3" class="counter "></div>
      <div data-page="4" class="counter "></div>
     </div>

    <button type="button" class="navbar-nav btn btn-default navbar-btn navbar-right next_page disabled" style="margin-right:0px;display:inline-block">

      next
      <span class="glyphicon glyphicon-menu-right"></span>
    </button>
  </div>
</nav>

在 iPhone 7、8、X 设备上的 Safari 上,当您首次加载页面时,导航栏出现在 2 个不同的行上,如下所示:

然后,当您刷新或重新加载它时,它看起来很正常:

我真的很难弄清楚如何让它始终显示正常,而且我更困惑为什么辅助页面加载可以纠正这个问题。

请注意,我向所有 3 个导航栏元素添加了 display:inline-block 以尝试更正此问题。它做了一些事情......在我添加它之前,当它只是 Bootstrap 原生样式时,在 Safari 和 iPhone 7、8、X 设备上,即使刷新也无济于事,导航栏会保持拆分为 2 行。

我正在使用 Bootstrap 3.3.4

我通过这个我找到了这个解决方案而不是给它内联你可以使用 bootstrap class checkbox-inline 这将使中心 div 内联并给导航栏text-center class。使用 pull-leftpull-right 代替 navbar-left 和 navbar-right。希望对您有所帮助:)

<nav class="navbar navbar-default navbar-fixed-top text-center" style="background: red;">
<div class="container-fluid">
    <button type="button" class="navbar-nav btn btn-default navbar-btn pull-left previous_page">
        <span class="glyphicon glyphicon-menu-left"></span>
  back

    </button>
    <div class="text-center checkbox-inline" id="progress-bar">
        <div data-page="0" class="counter active"></div>
        <div data-page="1" class="counter "></div>
        <div data-page="2" class="counter "></div>
        <div data-page="3" class="counter "></div>
        <div data-page="4" class="counter "></div>
    </div>
    <button type="button" class="navbar-nav btn btn-default navbar-btn pull-right next_page disabled">
  next

        <span class="glyphicon glyphicon-menu-right"></span>
    </button>
</div>
</nav>

我遇到了同样的问题。我通过固定导航栏的高度解决了这个问题。尝试给导航栏一个固定的高度:即

.container_navbar{ height: 60px; ... }

固定高度适用于所有设备。

希望这对你有用

此致