Flexbox line-break 行只有第一列有溢出滚动
Flexbox line-break row only first column with overflow scroll
我目前正在对一行固定宽度的项目使用 flex 和 flex-direction row,这会导致溢出和水平滚动条,这正是我正在寻找的。
但是,我需要这些行中的第一列为 full-width,而其余项目则在水平滚动条下方流动。这就是为什么我不能使用 wrap.
这是页面:http://dkrasniy.com/open-enroll/scrollable.html
注意: full-width 标题只能在移动视口上。
"Calendar Year Deductible" 下有行标题 "Individual" 和 "Family"。这些是在移动设备上需要全宽的内容。
谢谢
澄清后编辑:
我相信您要求的是 flex 容器中的所有兄弟姐妹,除了第一个在一行上。这个问题是 flex-wrap 总是在 parent/containing 元素上,所以除非你将 non-rowheader 元素包装在另一个容器中,否则我看不到使用 flexbox 实现这一点的方法。
您可以像这样添加一个包装器,然后在下面添加 css:
.flex-row {
flex-wrap: wrap;
}
.innerrow {
display: flex;
flex: 100%;
overflow-x: scroll;
max-width: 100vw;
}
<div role="row" class="d-flex flex-row compare-container">
<div role="rowheader" class="col-3 single-row-label">Individual</div>
<div class="innerrow">
<div role="cell" class="col-3 plan-col _1 data-point">[=11=]</div>
<div role="cell" class="col-3 plan-col _2 data-point">[=11=]</div>
<div role="cell" class="col-3 plan-col _3 data-point"></div>
<div role="cell" class="col-3 plan-col _4 data-point"></div>
<div role="cell" class="col-3 plan-col _5 data-point"></div>
</div>
</div>
原文:
在没有 jsbin 的情况下,这是我建议您执行的操作(在您需要的任何媒体查询中):
- 从 .single-row-label
中删除 left:0
- 添加max-width:100vw; overflow-x:滚动;到 .flex-row
我目前正在对一行固定宽度的项目使用 flex 和 flex-direction row,这会导致溢出和水平滚动条,这正是我正在寻找的。
但是,我需要这些行中的第一列为 full-width,而其余项目则在水平滚动条下方流动。这就是为什么我不能使用 wrap.
这是页面:http://dkrasniy.com/open-enroll/scrollable.html
注意: full-width 标题只能在移动视口上。
"Calendar Year Deductible" 下有行标题 "Individual" 和 "Family"。这些是在移动设备上需要全宽的内容。
谢谢
澄清后编辑:
我相信您要求的是 flex 容器中的所有兄弟姐妹,除了第一个在一行上。这个问题是 flex-wrap 总是在 parent/containing 元素上,所以除非你将 non-rowheader 元素包装在另一个容器中,否则我看不到使用 flexbox 实现这一点的方法。
您可以像这样添加一个包装器,然后在下面添加 css:
.flex-row {
flex-wrap: wrap;
}
.innerrow {
display: flex;
flex: 100%;
overflow-x: scroll;
max-width: 100vw;
}
<div role="row" class="d-flex flex-row compare-container">
<div role="rowheader" class="col-3 single-row-label">Individual</div>
<div class="innerrow">
<div role="cell" class="col-3 plan-col _1 data-point">[=11=]</div>
<div role="cell" class="col-3 plan-col _2 data-point">[=11=]</div>
<div role="cell" class="col-3 plan-col _3 data-point"></div>
<div role="cell" class="col-3 plan-col _4 data-point"></div>
<div role="cell" class="col-3 plan-col _5 data-point"></div>
</div>
</div>
原文:
在没有 jsbin 的情况下,这是我建议您执行的操作(在您需要的任何媒体查询中):
- 从 .single-row-label 中删除 left:0
- 添加max-width:100vw; overflow-x:滚动;到 .flex-row