【发布时间】:2021-03-23 13:31:40
【问题描述】:
我在 flexbox 布局内有一个表在父 flexbox 外流血,使页面比浏览器宽度更宽时遇到了一些麻烦。这是一个模型,显示了我遇到的类似问题。
#flex {
display:flex;
display:-webkit-flex;
flex-direction: row;
}
#one {
background-color: black;
width: 300px;
flex-shrink: 0;
-webkit-flex-shrink: 0;
}
#two {
background-color:red;
}
<div id="flex">
<div id="one">one
</div>
<div>
<table>
<tr>
<td>First Row</td>
<td>Second Row</td>
<td>Third Row</td>
<td>Fourth Row</td>
<td>Fifth Row</td>
<td>Sixth Row</td>
<td>Seventh Row</td>
<td>Eighth Row</td>
<td>Ninth Row</td>
<td>Tenth Row</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>DataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataData</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
</table>
</div>
</div>
您可以看到,尽管.flex 只是屏幕的宽度,.two 却要宽得多。
我在第二个 div 中使用数据表,因此表格大小是动态的,即使为子项和所有内容设置了最大宽度,我也无法让它停止流血。我需要帮助弄清楚如何锁定 flexbox 的第二个 div 以让表格正确调整大小(它具有响应元素,但不被使用 b/c 它只是变宽了)。
编辑:似乎表格正在完成页面的 100% 宽度,但由于左侧的元素,表格超出了右侧的边距。
感谢您的帮助。
【问题讨论】:
-
只删除
width: 110%? -
是的......不太确定你在期待什么。 110% 比 100% 宽,然后会溢出。
-
我认为你应该把真正的元素放在这个例子上,而不是这个 110% div。
-
啊。我现在觉得很笨。只是从实际代码中模拟过宽的内容。问题是很难判断是什么导致它溢出,或者如果没有导致问题的实际代码可以做任何事情来修复它。请提供更完整的示例。
-
Kk,让我试着做一个更好的例子。从本质上讲,是数据表 javascript 在构建表时使其太宽。