将项目列表馈送到3列布局中
feed a list of items into a 3-column layout
假设我有一个要以3列布局显示的框列表,我想实现如下所示的功能,其中每个数字代表一个固定宽度的框(div)。
1 2 3
4 5 6
7 8...
一种方法是在页面上有3列,并将对象划分为3个列表,其中第一个列表包含项目1 4 7,第二个列表包含项2 5 8,依此类推,并将每个列表馈送到每列。
问题是我的页面是动态的,项目可能会被删除和创建,我希望项目自动重新定位(例如,如果取出5个,6个应该放在5的位置,7个会放在6的位置…)
在CSS中有没有一种直接的方法可以做到这一点?谢谢
flex也有帮助:(将任意li悬停在测试行为旁边以删除)
ul {
display:flex;
flex-wrap:wrap;
margin:20px;
padding:20px;
justify-content:center;
background:gray;
}
li {
width:30%;
border:solid;
margin:1em 1%;
background:white
}
/* demo purpose */
li:nth-child(even) {
color:green;
}
/* remove one li */
li:hover + li {
position:absolute;
top:-9999px
}
li {
counter-increment:linbr;
}
li:before {
content:counter(linbr);
}
<ul>
<li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li> <li><li>
</ul>
是,只需使用display:inline-block;
或float:left;
请参阅此jsfiddle
您可以这样做:
ul { padding-left: 0;}
li { float: left; width: 30%; list-style: none; background: red; color: #fff; margin: 1%; }
点击此处查看
我制作了一个脚本,显示当您删除列表中的随机li
时它是有效的。
相关文章:
- CSS三维旋转;不能在Chrome上使用列布局
- 将项目列表馈送到3列布局中
- 两列布局,两列高度相同且均填充屏幕的整个高度
- 具有多个不同高度小部件的两列布局,如何使小部件可折叠并保持页面的流动性
- 如何构建具有挖空的多列布局
- 同位素适合列布局会导致容器变为空白
- 祖尔布基金会 使用 12 列布局的任一侧的空间
- 使列布局中的浮动元素向上骑行以满足上面的元素
- 响应式中的 3 列布局将第 3 列移入/移动到第 1 列的顶部
- 如何在列布局中换行(并根据需要收缩)
- 编写可缩放多列布局的首选方式是什么
- extJ的列布局问题
- 如何使用javascript和django设置两列布局
- 动态多列布局
- 具有固定高度和水平滚动的HTML列布局
- 用JQuery改变整体列布局使表行可见
- 2列布局"显示/隐藏"函数,文本流到第二列
- 响应3列布局使用Bootstrap
- 轻,灵活和可调整大小的2列布局(插件)
- 砌体:与2列布局,我如何有1列比另一个更宽