【发布时间】:2015-01-11 08:09:12
【问题描述】:
我正在使用 css flex 样式进行网格布局并想要一个完整的 css 解决方案,如果可能的话,我有办法用 javascript 修复它。
当一行超过视口宽度时,它会显示滚动条, 但是当你滚动时,行元素的样式仍然是视口的大小, 它似乎并没有“包装”它的所有孩子。
见:fiddle
尝试滚动,您将看到黄色行 (.sk_row) 类并未出现在其所有子项周围。
解决方案很好,但我想知道为什么父级在视觉上不包含所有子级。我想我可能遗漏了一些关于 flexbox 的关键概念......
小提琴代码重复...
<body>
<div id='pg_wrap'>
<div id='frm0'>
<div class='sk_scrl'>
<div class='sk_row'>
<div class='itm_val'>row 1</div>
<div class='itm_val'>1</div>
<div class='itm_val'>2</div>
<div class='itm_val'>3</div>
<div class='itm_val'>4</div>
<div class='itm_val'>5</div>
<div class='itm_val'>6</div>
<div class='itm_val'>7</div>
<div class='itm_val'>8</div>
</div>
<div class='sk_row'>
<div class='itm_val'>row 2</div>
<div class='itm_val'>1</div>
<div class='itm_val'>2</div>
<div class='itm_val'>3</div>
<div class='itm_val'>4</div>
<div class='itm_val'>5</div>
<div class='itm_val'>6</div>
<div class='itm_val'>7</div>
<div class='itm_val'>8</div>
</div>
</div>
</div>
</div>
#frm0{ width:420px;height:200px}
.sk_scrl{ overflow:auto;display:flex;flex-flow:column;align-content:stretch}
.sk_row{
display:flex;
justify-content:flex-start;
align-items:center;
background:#ff0;border:2px #f00 solid;
height:50px}
.itm_val{
display:flex;
border:1px #000 solid;background:#666;
flex:0 0 100px; height:30px; margin:0 5px;
align-items:center;justify-content:center}
注意:这与question不同 该操作想要改变孩子的行为,我希望父母改变。
【问题讨论】:
-
是单独滚动的行还是一起滚动的所有行?
-
所有在一起,就像小提琴一样,只是让我难过的那个黄色区域。
-
我在搞定,让它独立工作,现在就绑定它
-
@Stacker-flow,我很想看看你的小提琴。 . .
-
@Godisgood 我没有提供这个作为答案,因为我没有真正解决它,但这就是我得到的结果。jsfiddle.net/hserczk5/5 & jsfiddle.net/hserczk5/6