Css 垂直对齐div,同时保持它们在';列表样式';
我已经到了一个地步,我真的想不出任何解决这个问题的办法了。我想要实现的是: 我在一些div中填充内容,例如0-10之间的值。然后,当显示它们时,它们应该以响应用户窗口大小的方式列出。 在大屏幕上,它应该是这样的:Css 垂直对齐div,同时保持它们在';列表样式';,css,html,alignment,Css,Html,Alignment,我已经到了一个地步,我真的想不出任何解决这个问题的办法了。我想要实现的是: 我在一些div中填充内容,例如0-10之间的值。然后,当显示它们时,它们应该以响应用户窗口大小的方式列出。 在大屏幕上,它应该是这样的: 1 | 4 | 7 | 10 2 | 5 | 8 3 | 6 | 9 1 | 2 | 3 | 4 5 | 6 | 7 | 8 9 | 10 .content { -webkit-column-width: 80px; -webkit-column-gap: 5px
1 | 4 | 7 | 10
2 | 5 | 8
3 | 6 | 9
1 | 2 | 3 | 4
5 | 6 | 7 | 8
9 | 10
.content {
-webkit-column-width: 80px;
-webkit-column-gap: 5px;
}
在更小的屏幕上:
1 | 5 | 9
2 | 6 | 10
3 | 7
4 | 8
我给div设置了float:left代码>属性,它提供如下输出:
1 | 4 | 7 | 10
2 | 5 | 8
3 | 6 | 9
1 | 2 | 3 | 4
5 | 6 | 7 | 8
9 | 10
.content {
-webkit-column-width: 80px;
-webkit-column-gap: 5px;
}
问题是:顺序与预期输出中的顺序不同,并且:首先填充的是“行”,而不是列。
有人知道一个解决方案吗?一个人如何只用css和html就可以实现这样的效果?现代的解决方案是css多列模块。您可以这样使用它:
1 | 4 | 7 | 10
2 | 5 | 8
3 | 6 | 9
1 | 2 | 3 | 4
5 | 6 | 7 | 8
9 | 10
.content {
-webkit-column-width: 80px;
-webkit-column-gap: 5px;
}
检查,IE10+
如果浏览器不支持它(例如IE8),它将优雅地降级为单列布局,如这里所示,这并不坏
进一步阅读。现代解决方案是CSS多列模块。您可以这样使用它:
1 | 4 | 7 | 10
2 | 5 | 8
3 | 6 | 9
1 | 2 | 3 | 4
5 | 6 | 7 | 8
9 | 10
.content {
-webkit-column-width: 80px;
-webkit-column-gap: 5px;
}
检查,IE10+
如果浏览器不支持它(例如IE8),它将优雅地降级为单列布局,如这里所示,这并不坏
进一步阅读。你介意发布你的html吗?你介意发布你的html吗?