当父级嵌入 display:table 时,如何使 100% 宽度 div 的子级水平滚动?

How can I make a 100% width div have its children scroll horizontally when the parent is embedded in a display:table?

我的网站左侧有侧边栏,右侧有主要内容。布局结构用display:table的div来完成。 (只要效果相同,我愿意改变它)。

现在在主要内容部分,我想要一个可水平滚动的区域。该区域需要是主要内容宽度的 100%,而不是将其推得更宽。但是,它没有按预期工作,我不明白为什么它会扩大内容区域。

这是 jsfiddle 中的模型:https://jsfiddle.net/yhpjx907/1/

取消注释一些额外的项目,您就会明白我所说的扩展主要内容的意思。

有什么建议吗?

使用flexbox:

左侧与右侧高度相同。左侧 width: 30%。右侧 width: 70%。右侧内联元素也在一个 flexbox 中,它有 overflow-x: scroll.

例子

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #dfdfdf;
}

.container {
  display: flex;
  width: 500px;
  margin: 0 auto;
}

.container ul {
  list-style: none;
}

.container>aside {
  width: 30%;
  min-width: 150px;
  background: #cfcfcf;
  color: #fff;
}

.container>.main {
  width: 70%;
  border: 5px solid #cfcfcf;
  background: #fff;
}

.container .items {
  background: red;
  display: flex;
  overflow-x: scroll;
}

.container .items>div {
  padding: 20px;
  margin: 10px;
  font-size: 24px;
  background: #0f0;
}
<div class="container">
  <aside class="sidebar">
    <ul>
      <li>List 1</li>
      <li>List 2</li>
      <li>List 3</li>
      <li>List 4</li>
      <li>List 5</li>
    </ul>
  </aside>
  <div class="main">
    <h1>Header</h1>
    <div class="content">
      <div class="items">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
        <div>6</div>
        <div>7</div>
        <div>8</div>
        <div>9</div>
        <div>10</div>
        <div>11</div>
        <div>12</div>
        <div>13</div>
        <div>14</div>
        <div>15</div>
      </div>
    </div>
    <h1>Footer</h1>
  </div>
</div>