简体   繁体   English

CSS多列列表具有不同高度的列表项

[英]css multiple columns list with list-items of varying heights

I have a list of elements each contained in a box that I want to split into two columns. 我有一个元素列表,每个元素都包含在一个框内,我想将其分为两列。 Something like this: 像这样:

HTML 的HTML

<ul>
  <li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rerum, quos, unde, tenetur    labore consequuntur repudiandae tempore totam soluta praesentium non cumque assumenda incidunt itaque pariatur animi eaque nam aliquid repellendus! Sed, eius laudantium deserunt pariatur rerum possimus enim iste corporis doloribus dolor ea ducimus facere similique qui nostrum excepturi quis ut aliquam animi nam eos doloremque et rem repellat libero neque at quas nesciunt explicabo fugiat.</li>
  <li>Modi, eos, veritatis, laboriosam, cumque neque similique ea harum quas</li>
  <li>totam cupiditate maiores impedit molestias non maxime nam quis animi laborum nesciunt ut provident sed dolorem dolorum veniam asperiores eligendi ad ratione sunt perferendis facilis</li>
  <li>in earum itaque odio fugit mollitia exercitationem tempora necessitatibus voluptates accusamus dolore architecto eum natus. At, nulla, natus magnam quia provident consectetur nobis commodi quis repellendus dicta. Quo, placeat, excepturi iusto ipsam ullam cumque amet molestiae quaerat pariatur laboriosam voluptate</li>
  <li>nostrum explicabo esse iure debitis mollitia minima doloribus architecto velit dolorum autem voluptatem aperiam quidem odit dolore itaque quasi.</li>
  <li>Illum, doloribus, assumenda odit incidunt accusamus perferendis libero quas temporibus sit rerum tempora ipsum inventore aliquid accusantium sequi eveniet mollitia dolorem</li>
  <li>quibusdam omnis architecto officiis ullam earum error. Quia, velit, odio, pariatur, officia maiores accusantium quibusdam aliquam nisi asperiores ipsam odit saepe molestiae cumque adipisci vel quis sapiente cum consectetur repellat deserunt. Dolore, neque harum recusandae praesentium quos officiis</li>
  <li>dolores! Aliquid, aut nesciunt officiis. Beatae, maiores,</li>
</ul>

CSS 的CSS

ul {
list-style-type: none;
-moz-column-count: 2;
-moz-column-gap: 20px;
-webkit-column-count: 2;
-webkit-column-gap: 20px;
column-count: 2;
column-gap: 20px;
}

li{
padding: 30px;
background: chartreuse;
margin-bottom: 20px;
}

My problem is that the columns are cut based on the text rather than the <li> 's as you can see here : http://jsfiddle.net/hZSCm/ 我的问题是,列是根据文本而不是<li>进行剪切的,如您在此处看到的: http : //jsfiddle.net/hZSCm/

Is there a way to get my columns to behave properly using css or could I only do this is javascript? 有没有一种方法可以让我的列使用CSS正常运行,或者我只能使用javascript做到这一点? If so would I have to use something like columnizer or is there a simpler approach. 如果是这样,我将不得不使用诸如columnizer之类的方法,或者有没有更简单的方法。

Try this: 尝试这个:

li{
    padding: 10px;
    background: grey;
    margin-bottom: 20px;
    display: inline-block; /* Add inline-block */ 
}

SEE DEMO 查看演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM