问题描述
我试图让一个元素的项目向右对齐,并且所有溢出的元素都被隐藏但可以通过滚动条访问.
但是当指定justify-content: flex-end
时,滚动条似乎消失了.为什么会这样,我该如何解决?
这是演示:https://jsfiddle.net/efguz4mp/1/
.row {宽度:100%;最大宽度:500px;背景:#DADADA;显示:弹性;溢出:自动;justify-content: flex-end;}.盒子 {宽度:200px;高度:40px;边距:4px 10px;背景:红色;弹性收缩:0;}
<div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
...这里是没有 justify-content: flex-end;
的演示:https://jsfiddle.net/efguz4mp
.row {宽度:100%;最大宽度:500px;背景:#DADADA;显示:弹性;溢出:自动;}.盒子 {宽度:200px;高度:40px;边距:4px 10px;背景:红色;弹性收缩:0;}
<div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
当向左(或顶部)发生溢出时,不会渲染滚动,原因是 HTML 文档的正常流向左-从上到下(从上到下).
Flexbox 有一个 row-reverse 方向,这将解决这个问题,认为 2 件事随之而来:
需要对物品重新排序或使用内部包装器
I.a.Firefox 和 Edge 不显示滚动(可能是错误)
堆栈片段
.row {宽度:100%;最大宽度:500px;背景:#DADADA;显示:弹性;flex-direction: 行反向;溢出:自动;}.盒子 {宽度:200px;高度:40px;边距:4px 10px;背景:红色;弹性收缩:0;}/* 没有包装 */.row >.box:nth-child(1) { order: 6;}.row >.box:nth-child(2) { order: 5;}.row >.box:nth-child(3) { order: 4;}.row >.box:nth-child(4) { order: 3;}.row >.box:nth-child(5) { order: 2;}.row >.box:nth-child(6) { order: 1;}/* 包装 */.内{显示:弹性;}
<div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div><br><br></div><div class="row"><div class="inner"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div>