【发布时间】:2018-09-14 04:01:41
【问题描述】:
当浏览器宽度调整大小时,我遇到了一个浮动 div 移动到另一个浮动 div 下方的问题。我在 jsfiddle(如下)中创建了一个这种行为的示例,其中我使用了虚拟文本和虚拟表。如果您打开 jsfiddle,并调整显示区域的宽度,您会看到最终右侧 div(表格)移动到左侧 div(文本)下方。
https://jsfiddle.net/p7yr5t4u/23/
.view {
float: left;
position: relative;
height: 100%;
}
#A {
width: 200px;
}
理想情况下,我希望看到右侧 div 在浏览器宽度调整大小时显示水平滚动条,并使其保持在右侧而不是在左侧 div 下方移动。我尝试在 div 上设置“overflow-x:auto”无济于事。如何使水平滚动条出现在右侧的表格中,而不是让它移动到左侧的文本下方?
我针对这个问题研究了 Stack Overflow,发现 this thread 和 this thread。我能收集到的唯一解决方案是浮动本身就是一个问题,当 div 浮动时很难获得这种期望的行为。有没有办法让我在保持浮动布局的同时获得我想要的结果?还是浮动本身就是罪魁祸首?
【问题讨论】:
-
是的,浮动本身就是罪魁祸首..删除浮动会很容易
-
@TemaniAfif 有没有办法在保持浮动的同时做到这一点?
-
我不这么认为..顺便说一句,为什么需要浮动?这是真正的问题
-
@TemaniAfif 作为后续问题,您认为使用 float 是不好的风格吗?是否应该尽可能避免?
-
我会避免使用 bad 这个词。 Float 用于浮动元素,因此取决于您的情况。如果您使用浮动来创建布局,您可能做错了,您需要考虑更好的方法(flexbox、网格、内联块等),但在某些情况下您需要浮动行为,因此您必须使用它...这就是为什么我要问您是否真的需要浮动...在这种特殊情况下,我认为不需要浮动,因为您想要的是并排放置两个块,这是一个完美的用例内联块元素。