5

我有一个左浮动 div 用作侧边栏(红色)。在它旁边,还有另一个 div 存储页面内容(绿色)。内容 div 内的元素保持浮动(蓝色)。

当浏览器宽度太小而无法容纳它们时,我希望能够水平滚动框;例如,如果有很多盒子。相反,内容 div 移动到侧边栏 div 下方,我正在滚动整个页面。

这是浏览器窗口足够宽时的页面布局: 页面布局

这是HTML:

<div id="container">
  <div id="sidebar">Sidebar</div>
  <div id="content">
    <p class="box">Box 1</p>
    <p class="box">Box 2</p>
    <p class="box">Box 3</p>
  </div>
  <div style="clear: both;"></div>
</div>

这是CSS:

* {
    margin: 0px;
    padding: 0px;
}

#container {
    background: yellow;
}

#sidebar {
    float: left;
    background: red;
}

#content {
    float: left;
    white-space: nowrap;
    background: green;
}

.box {
    width: 200px;
    height: 250px;
    background: blue;
    margin: 10px;
    float: left;
}

请帮助我理解我做错了什么。谢谢你。

4

3 回答 3

3

您只需要使用 CSS 属性来包装您的内容overflow-x: scroll;

* *重要提示:这是一项 CSS3 功能,某些浏览器可能不支持overflox-x。因此,我强烈建议您阅读以下内容:http: //net.tutsplus.com/tutorials/html-css-techniques/html5-and-css3-without-guilt/

预览:http: //jsfiddle.net/WXFJU/

HTML

<div id="container">
  <div id="sidebar">Sidebar</div>
  <div class="overflow-x">
      <div id="content">
        <p class="box">Box 1</p>
        <p class="box">Box 2</p>
        <p class="box">Box 3</p>
      </div>
  </div>
  <div style="clear: both;"></div>
</div>​​​​​

CSS

* {
    margin: 0px;
    padding: 0px;
}

#container {
    width: 100%;
    background: yellow;
}

#sidebar {
    float: left;
    background: red;
}

#content {
    float: left;
    white-space: nowrap;
    background: green;
}

.box {
    width: 200px;
    height: 250px;
    background: blue;
    margin: 10px;
    float: left;
}

.overflow-x {
    overflow-x: scroll;
    display: block;
}

​</p>

于 2012-04-15T17:52:30.313 回答
0

您也需要设置宽度container

于 2012-04-15T17:39:55.653 回答
0

您的 content-div 还需要有一个宽度。

#content {
    width: 1000px;
}
于 2012-04-15T17:43:17.770 回答