html - 如何在多行上均匀划分 UL

标签 html css layout html-lists

我有一个带 block 的无序列表。简化后的代码如下所示:

<ul style="list-style-type: none;">
<li style=" float:left"><table style="width:200px; height:200px">[blockcontent]</table></li>
<li style=" float:left"><table style="width:200px; height:200px">[blockcontent]</table></li>
etc.
</ul>

这将在一行中显示尽可能多的 block ,因为有空间。在一个宽页面上,可能连续有 5 个 block ,之后它会跳到下一行。如果页面较小,它会将 block 数减少到 4、3、2,最后减少到 1。非常基本的响应式设计。

问题是这个“float:left”把所有东西都放在了页面的左边。我想让它均匀地分布在页面的宽度上。

我在网上找到的解决方案都很复杂。我想知道这种问题最简单优雅的解决方案是什么。

这些表格是用来订购其内部零件的表格。对于外部,它们只是 200x200 的固定 block ,也可能是 div。它们永远不会变小或变大。问题在于它们之间的空间。

最佳答案

可以使用 flexbox 实现您正在寻找的内容

请删除内联样式。

并且不需要在这里使用表格。

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content:center /* or space-between or space-around*/
}

li {
  flex: 0 200px;
  height: 200px;
  margin: 10px;
  border: 1px solid red;
}
<ul>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>
  <li>[blockcontent]</li>

</ul>

关于html - 如何在多行上均匀划分 UL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497036/

相关文章:

jquery - 单击在多个元素上添加和删除多个类

javascript - 使用第三方 IME 时,JS keydown keyup keypress 事件在 IOS8 上不起作用

javascript - 禁用下拉菜单直到页面加载 - Javascript

performance - 缓存视频背景

css - 已选择 GWT StackPanel

javascript - 如何创建倒计时 html 文本 60 到 0 的倒计时计时器

javascript - 如何使盒子从侧面扩展一段距离

rest - 如何使 flutter 中的无限滚动布局? (更新)

javascript - 在 2 行中动态创建 div 高度

css - 为什么两个相邻的行内 block 使用的宽度超过它们的总宽度?