HTML-一旦达到特定宽度,创建水平滚动条

时间:2012-01-29 00:38:10

标签: jquery html css scroll overflow

我有一个宽度为100%的水平导航栏。一旦导航达到一定程度 最小宽度 - 大约800px,我说, - 我想要一个水平滚动条出现。 CSS属性min-width不起作用,因为它不会创建滚动条。

This帖子和我一样问同样的问题,但是这个人得到的唯一好答案是使用jQuery插件,我不确定如何使用它添加滚动条。

如何在固定的最小宽度后添加水平滚动条?请帮帮我。

感谢。

编辑根据要求,这是我的代码:

HTML

<nav id="topBar">
    <section id="topBarRight">
        <!-- stuff !-->
    </section>
</nav>

CSS (没有任何建议)

#topBar
{
    position: fixed;
    top: 0px;
    left: 0px;

    width: 100%;
    height: 50px;
    min-width: 800px;
}

#topBarRight
{
    float: right;
}

3 个答案:

答案 0 :(得分:3)

从本质上讲,你需要某种父元素来包含导航,作为一种“视口”:

<nav id="topBar">
  <section id="topBarRight">
    <ul id="navMenu">
      <li>Home</li>
      <li>About</li>
      <!-- ... -->
    </ul>
  </section>
</nav>

然后,您可以约束父级的宽度,并允许导航根据需要增长:

<style>
  #topBar {
    /* ... */
    width: 100%;
    overflow: auto;
  }

  #topBarRight {
    min-width: 800px;
    overflow-x: auto;
  }

  #navMenu {
    float: right;
    /* ... */
  }
</style>

答案 1 :(得分:1)

我将一个最小宽度的div作为所有导航栏内容的父级放入导航栏。 然后导航栏本身应该有overflow-x:auto和overflow-y:hidden或overflow:auto。 滚动条需要额外的垂直空间,因此也可能需要垂直滚动条。

答案 2 :(得分:1)

这会使一个包含静态宽度的框包含您的内容。如果没有足够的空间容纳盒子(窗口小于400px),则会出现滚动条 http://jsfiddle.net/Re4AP/5/

这会使一个默认为100%宽度的框,最小宽度为400px以包含您的内容。如果没有足够的空间容纳框中的内容,则会将内容(本例中的文本)分成多行。如果窗口小于400px(最小宽度),则会出现滚动条  http://jsfiddle.net/Re4AP/7/