Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何使用css垂直堆叠(和包装)块元素列表_Html_Css_Layout - Fatal编程技术网

Html 如何使用css垂直堆叠(和包装)块元素列表

Html 如何使用css垂直堆叠(和包装)块元素列表,html,css,layout,Html,Css,Layout,我有一个ul/li列表,其中li元素应该垂直堆叠,并在一定数量(第n个子元素或最好是父元素高度)后换行,如下所示: 1 4 2 5 3 6 这怎么可能呢?(最好没有固定的像素大小和绝对位置)您要查找的是列计数属性。 用一个div将ul包装成一个类: <div class="wrapper"> <ul> <li>1</li> <li>2</li> <li>3</li>

我有一个ul/li列表,其中li元素应该垂直堆叠,并在一定数量(第n个子元素或最好是父元素高度)后换行,如下所示:

1  4
2  5
3  6

这怎么可能呢?(最好没有固定的像素大小和绝对位置)

您要查找的是列计数属性。 用一个div将ul包装成一个类:

<div class="wrapper">
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
  </ul>
</div>
.wrapper{
    column-count: 2;
    column-gap: 20px;//for spacing between
}

  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
.包装纸{ 列数:2; 列间距:20px;//表示 }
您要查找的是列计数属性。 用一个div将ul包装成一个类:

<div class="wrapper">
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
  </ul>
</div>
.wrapper{
    column-count: 2;
    column-gap: 20px;//for spacing between
}

  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
.包装纸{ 列数:2; 列间距:20px;//表示 }
我用
内部突破:避免

这是代码

HTML

要在IE9及以下版本上实现这一点,请遵循并使用代码笔中的javascript。注意:就我所见,javascript和CSS都必须是外部链接的

您的结果应该如下所示:

1  4
2  5
3  6


特别感谢他最初的回答,为我指明了正确的方向

我用
break-inside:avoid解决了这个问题

这是代码

HTML

要在IE9及以下版本上实现这一点,请遵循并使用代码笔中的javascript。注意:就我所见,javascript和CSS都必须是外部链接的

您的结果应该如下所示:

1  4
2  5
3  6


特别感谢他最初的回答,为我指明了正确的方向

谢谢!这样做的问题是子项也在列中换行。有没有办法告诉它不要包装中间的li,先到结束的li标签,然后再包装?我不相信这个解决方案会适合你的情况,我想你需要使用一些javascript,但是如果你发布你的html和所需的输出,我可能会帮上忙。我想我是根据你的指导计算出来的,我会在下面的回答中添加它。谢谢!这样做的问题是子项也在列中换行。有没有办法告诉它不要包装中间的li,先到结束的li标签,然后再包装?我不相信这个解决方案会对你的情况起作用,我想你需要使用一些javascript,但是如果你发布你的html和所需的输出,我可能能帮上忙。我想我是根据你的指导计算出来的,我会在下面的回答中添加它。