css - 在 div 内水平滚动

标签 css

我有当前的 CSS:

#inner { 
    height: 50em;
    width : 20em;
    overflow: auto;
    float : left;
    padding :10px;
    margin : 20px;
    white-space: normal;
}

#outer{
    width: 60em;
    white-space:nowrap;
    border: 13px solid #bed5cd;
    overflow-x: auto;
    overflow-y: hidden;
}

我的 html 代码如下:

<div id="outer">
<div id="inner">
data
</div>
<div id="inner">
data
</div>
<div id="inner">
data
</div>
. . . .
</div>

我可以看到水平滚动。但问题是,我不想将 outer.width 硬编码为 60em。我想将其保留为 auto。但这以垂直滚动结束。

知道我在哪里犯了错误吗?

最佳答案

在外部 div 上设置 white-space:nowrapoverflow:auto

在内部 div 上设置 display:inline-block,并移除 float

#outer {
  border: 13px solid #bed5cd;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}
#inner {
  display: inline-block;
  white-space: normal;
  width: 20em;
  padding: 10px;
  margin: 20px;
}
<div id="outer">
  <div id="inner">
    data
  </div>
  <div id="inner">
    data
  </div>
  <div id="inner">
    data
  </div>
</div>

关于css - 在 div 内水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802383/

相关文章:

html - 嵌套 <nav> 上未显示背景图像

javascript - 将 div 向左浮动,同时保持它的 "left"css 属性

html - 你如何判断哪些 CSS 设置影响了布局?

歌剧中的CSS背景过渡经过黑色

html - CSS 图像缩放和悬停居中

javascript - 使用 jquery 生成 div 列

html - textarea 的 CSS 使 textarea 高度跨越第一行的高度?

css - 如何避免在 CSS 中重新定义父元素类

javascript - 如何使 Google map 信息窗口的内容完全适合所有浏览器?

html - 将自定义 CSS 导航栏从水平转换为垂直