考虑下面的HTML:

<div class='x'>
    <ul>
        <li>Number one</li>
        <li>Number two</li>
        <li>Number three</li>
        <li>Number four is a bit longer</li>
        <li>Number five</li>
    </ul>
</div>

和以下CSS:

.x {
    -moz-column-count: 3;
    column-count: 3;
    width: 30em;
}

就目前情况来看,Firefox当前的渲染方式如下:

• Number one    • Number three          bit longer
• Number two    • Number four is a    • Number five

请注意,第四项在第二列和第三列之间被分割了。我该如何预防呢?

所需的渲染可能看起来更像:

• Number one    • Number four is a
• Number two      bit longer
• Number three  • Number five

or

• Number one    • Number three        • Number five
• Number two    • Number four is a
                  bit longer

编辑:宽度仅用于演示不需要的渲染。在实际情况下,当然没有固定的宽度。


当前回答

截至2014年10月,火狐和IE 10-11的破解似乎仍有问题。然而,在元素中添加overflow: hidden以及break-inside: avoid似乎可以在Firefox和IE 10-11中正常工作。我目前使用:

overflow: hidden; /* Fix for firefox and IE 10-11  */
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
page-break-inside: avoid; /* Firefox */
break-inside: avoid; /* IE 10+ */
break-inside: avoid-column;

其他回答

截至2014年10月,火狐和IE 10-11的破解似乎仍有问题。然而,在元素中添加overflow: hidden以及break-inside: avoid似乎可以在Firefox和IE 10-11中正常工作。我目前使用:

overflow: hidden; /* Fix for firefox and IE 10-11  */
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
page-break-inside: avoid; /* Firefox */
break-inside: avoid; /* IE 10+ */
break-inside: avoid-column;

我在使用卡片列时也遇到了同样的问题

我用

 display: inline-flex ;
 column-break-inside: avoid;
 width:100%;

这在2015年很适合我:

李{ -webkit-column-break-inside:避免; /* Chrome, Safari, Opera */ page-break-inside:避免; /* Firefox */ break-inside:避免; /*即10+ */ } 以下方式{ -moz-column-count: 3; column-count: 3; 宽度:30 em; } < div class = ' x ' > < ul > <李> 1号李< / > <李>二李< / > <李> 3号李< / > <li> 4号有点长</li> <李> 5号李< / > < / ul > < / div >

大部分的财产显示无效时,我要申请,如

  page-break-inside: avoid-column;
  break-inside: avoid-column;
  -webkit-column-break-inside: avoid-column; 

当我检查响应时,它对我来说不是很好…

任何人都可以为我提供相同的解决方案…

试试这个:

-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid;
-webkit-column-break-inside: avoid-column;
page-break-inside: avoid-column;
break-inside: avoid-column;

...对我有用,也许对你也有用。