如何创建反向弹性行的水平滚动弹性列?
How to create a horizontally scrollable flex column of reversed flex rows?
我想创建一个可水平滚动的弹性列,其中包含多个弹性行,但是我想以相反的方式显示每一行。即 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>
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;
}
我希望有一个两行的水平滚动列,显示 6,5,4,3,2,1(即倒序),其中每个 div 显示:flex
As you can see the horizontal scrollbar disappears.
发生这种情况是因为您忽略了让 flex 项目 wrap,所以您的两“行”都显示在一行上。
将 flex-wrap: wrap;
添加到 .column
,以允许元素在需要时换行:
.column {
display: flex;
flex-direction: column;
flex-wrap: wrap;
overflow: auto;
}
使用这种格式的代码。
.column{
display:flex;
overflow:auto;
flex-wrap:wrap;
flex-direction: column;
}
.row {
display:flex;
flex-direction: row-reverse;
flex-wrap:nowrap;
}
.box{
display:flex;
background: red;
margin:2px;
min-width:200px;
min-height:50px;
padding:5px;
color:white;
}
<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>
我想创建一个可水平滚动的弹性列,其中包含多个弹性行,但是我想以相反的方式显示每一行。即 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>
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;
}
我希望有一个两行的水平滚动列,显示 6,5,4,3,2,1(即倒序),其中每个 div 显示:flex
As you can see the horizontal scrollbar disappears.
发生这种情况是因为您忽略了让 flex 项目 wrap,所以您的两“行”都显示在一行上。
将 flex-wrap: wrap;
添加到 .column
,以允许元素在需要时换行:
.column {
display: flex;
flex-direction: column;
flex-wrap: wrap;
overflow: auto;
}
使用这种格式的代码。
.column{
display:flex;
overflow:auto;
flex-wrap:wrap;
flex-direction: column;
}
.row {
display:flex;
flex-direction: row-reverse;
flex-wrap:nowrap;
}
.box{
display:flex;
background: red;
margin:2px;
min-width:200px;
min-height:50px;
padding:5px;
color:white;
}
<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>