html - 在不改变 HTML 标记的情况下,将 multipe <li> 显示为单元格之间具有 1px 边框的多行

标签 html css

是否可以创建类似于以下内容的内容:

enter image description here

html 标记基本上是一个 <ul>和 6 <li> .问题是,如果您始终定义 1px 的“边框”,它最终会以 2px 边框结束。有什么方法可以“折叠”边界吗?我希望这样我可以很容易地决定我是否想要每行 3 个,每行 4 个等等。目前,这是通过使用例如 width: 33.33333% 来完成的。显示 3,和 display: inline-block .

我不想通过 HTML 标记对每一行进行分组,假设每一行都在物理 <ul> 中。 .我试过 margin-left: -1px技术,但问题是整行会被移动说 3px向左。

是否有仅使用 CSS 的解决方案?

最佳答案

可能是这样的:

* {
  box-sizing: border-box;
}

li {
  width: 33.33%;
  display: block;
  float: left;
  background: #333;
  color: #fff;
  text-align: center;
  padding: 3px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
li:nth-child(3n) {
  border-right: none;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.min.css" rel="stylesheet"/>

<ul>
  <li>One</li>
  <li>Two</li>
  <li>Three</li>
  <li>Four</li>
  <li>Five</li>
  <li>Six</li>
</ul>

关于html - 在不改变 HTML 标记的情况下,将 multipe <li> 显示为单元格之间具有 1px 边框的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31583029/

相关文章:

html - 努力查看我的 HTML 输出中的所有数据库条目

javascript - 当我隐藏 <div> 时如何停止播放 <audio> 文件?

javascript - 在其他 php 文件中使用 Javascript 显示表单结果

javascript - 如何纠正从 jsFiddle 到 HTML 的 no wrap(head) JavaScript 以使其正常工作

javascript - 通过 Canvas 动画中的变量传递颜色

html - css高度不增长

javascript - 更改 HTML 表中 td 元素的颜色,然后使用 AJAX 写入数据库

javascript - 从 iframe 调用 jquery 插件中的函数

javascript - 如何跨网站保存 CSS 样式切换

javascript - 清除 cookie 并重定向到 html 页面的 html 按钮