添加内容并在 body 上浮动外屏

Adding content and float outer screen on body

如果内容超出 100% 宽度,是否有水平滚动的方法?

例如:我有一个空白页面,它连续添加 divs 到容器 ajax。

CSS 为 parent div:

position:absolute;
top: 50px;
left:240px;
height: calc(100% - 50px);
width:calc(100% - 240px);
background: #F1F1F8;
white-space: nowrap;
overflow: auto;

加上ajax的childdiv:

position: relative;
height:100%;
top:0px;
bottom:0px;
width:auto;
min-width: 300px;
padding-left:30px;
padding-right:30px;
background-color:#282D32;
float:left;

如果我添加更多 divs 它会中断行,但我希望滚动条水平滚动。

问题是 white-space:nowrap 对布局的浮动元素没有影响。您可以将子 div 设置为 display:inline-block

如果只需要水平滚动条,可以overflow-x:auto + overflow-y:hidden.

.parent {
  font-size: 0; /*remove whitespace*/
  position: absolute;
  top: 50px;
  left: 240px;
  height: calc(100% - 50px);
  width: calc(100% - 240px);
  background: #F1F1F8;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
.child {
  font-size: 16px;
  position: relative;
  height: 100%;
  top: 0px;
  bottom: 0px;
  width: auto;
  min-width: 300px;
  padding-left: 30px;
  padding-right: 30px;
  background-color: #282D32;
  display: inline-block;
}
.child:nth-child(even) {
  background-color: #464E55;
}
<div class="parent">
  <div class="child"></div>
  <div class="child"></div>
  <div class="child"></div>
  <div class="child"></div>
  <div class="child"></div>
</div>

尝试将所有元素包装在另一个具有无限宽度(999999 像素或每次添加新元素时扩展它)的 div 中。这样,父级 div 具有固定宽度(从我在您的 css 中看到的 100% - 240px)并且它具有溢出:自动(或者您可以放置​​溢出:滚动),以及这个新的包装器所有项目都将比父项目宽,因此实际上会有内容要滚动。你这样做的方式是你的第 5 个项目到达父级 div 的边缘,并且它只能在新行中到达其他任何地方。