html - 溢出 : hidden conundrum on mobile devices

标签 html css

我有 2 个引导导航栏,紧接着是 2 个水平居中的下拉菜单,如下所示...

<div class="bodyWrapper"> 

  <!-- top navbar - doesn't change size-->
  <div class="navbar navbar-fixed-top navbar-inverse nav-top">
    ...
  </div>

  <!-- bottom navbar - collapses and changes size-->
  <nav class="navbar navbar-inverse navbar-static-top" >
    ...
  </nav>    

  <!-- 2 dropdown menus, always centered, and underneath the navbars-->
  <div style="width: 100%;">
      <div style="position: relative; left: 50%; top: -20px;">
              <nav id="menu" class="menu"> 
              </nav>
              <nav id="menu2" class="menu"> 
              </nav>
      </div>
  </div>

</div> 

仅通过此设置,移动设备上就会出现一个水平滚动条,允许用户滚动到空白区域,而不是我的顶部导航栏(由于某种原因继续填满整个屏幕)。我不知道为什么会这样,但要解决它,我可以添加这个 CSS...

.bodyWrapper {
  position : relative; 
  overflow : hidden;
}

(我首先尝试将 overflow/overflow-x:hidden 属性应用于 body/html 但它并没有删除我 iPhone 上的滚动条)。

但此选项的问题在于,由于下拉菜单现在位于带有 overflow:hidden 的包装器中,因此当用户尝试展开它们时,它们会被切断。

我能想出的唯一解决方案是将下拉菜单置于 bodyWrapper div 之外并对其使用绝对定位 - 但这是一个非常糟糕的选择,因为我不得不不断地重新调整它们的位置,因为高度它们上方的导航栏数量可以增长。

无论如何,要问是否有人能找到更好的方法来处理这个特定于移动设备(至少是 iPhone)的问题,所有这些都是很长的路要走。感谢您的任何想法!


编辑

请求示例: http://codepen.io/d3wannabe/pen/gaVXzO (css 的最后一行可以被注释掉,以查看下拉列表会发生什么)

最佳答案

您可以将下拉类的显示设置为 inline-block 及其父级以将文本居中对齐。

.dropdown{
    display:inline-block;
 }

在这里查看:http://codepen.io/anon/pen/aveEoP

关于html - 溢出 : hidden conundrum on mobile devices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33995603/

相关文章:

java - 如何从java读取XML节点中的空白元素

css - 更改 md-select 的占位符颜色时出现问题

javascript - 如何将焦点设置在包含其他标签的可编辑 div 元素区域的末尾

php - WordPress/Wix + PHP 和 MySQL?

html - text-center 和 text-right 在 bootstrap 中不起作用

javascript - IE 中出现这个问题是怎么回事?

html - 如何在 HTML 选择中将文本垂直对齐到中间?

javascript - 使用 CSS 或 JavaScript 缩放背景图像

javascript - 如何使全屏背景图像大于窗口 View ?

jquery - 带有嵌套 div 的可点击 div