num*_*jak 1 html css overflow flexbox
我想创建一个水平滚动的 flex 列,其中包含多个 flex 行,但是我想以相反的方式显示每一行。即 1,2,3,4,5,6 显示为 6,5,4,3,2,1。
这是我尝试的 JSFiddle:
https://jsfiddle.net/6kjgdtas/
如您所见,水平滚动条消失了。
HTML:
<div class="column">
<div class="row">
<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>
<div class="row">
<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>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.column {
display: flex;
flex-direction: column;
overflow: auto;
}
.row {
display: flex;
flex-direction: row-reverse;
}
.box {
display: flex;
width: 200px;
height: 40px;
margin: 2px;
background: red;
flex-shrink: 0;
}
Run Code Online (Sandbox Code Playgroud)
我期望一个水平滚动的两行列,显示 6,5,4,3,2,1(即逆序),其中每个 div 显示:flex
如您所见,水平滚动条消失了。
发生这种情况是因为您忽略了让 flex 项目wrap,因此您的两个“行”都显示在一行上。
添加flex-wrap: wrap;到.column, 以允许元素在需要时换行:
.column {
display: flex;
flex-direction: column;
flex-wrap: wrap;
overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)