css – 显示:新行上的表格单元格

这是一个我的意思的示例代码

HTML

<ul class="table">
  <li class="table-cell"></li>
  <li class="table-cell"></li>
  <li class="table-cell"></li>
  <li class="table-cell"></li>
</ul>

CSS:

.table {
  display: table;
}

.table-cell {
  display: table-cell;
  width: 25%;
}

问:我如何做出第三个和第三个< li> (表单元格)显示在新行上,宽度为50%?

问:有没有办法只使用CSS而不是jQuery或Javascript?

解决方法

简单的答案是:你不能,至少没有列表.将其显示设置为表格单元格的相邻元素视为属于同一行(即使未提供行元素,也将为您创建一个匿名元素).由于列表不允许在ul和li之间包含任何其他标签,所以列表不可能.您必须使用不同的标记或不同的样式.

如果您不想修改标记,这是您的选择.

列表项上的内嵌块:http://jsfiddle.net/XNq74/1/

li {
    display: inline-block; /* Could use floats here instead */
    width: 40%;
}

CSS列将是一个合理的选择:http://jsfiddle.net/XNq74/

ul {
    columns: 2;
}

http://caniuse.com/#feat=multicolumn

FlexBox也可以使用,可以与内嵌块结合使用:http://jsfiddle.net/XNq74/2/

ul {
    display: flex;
    flex-flow: row wrap;
}

li {
    flex: 1 1 40%;
}

http://caniuse.com/#search=flexbox

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效