【问题标题】:Multiple columns of links allowing for multiple lines多列链接允许多行
【发布时间】:2015-05-18 21:24:00
【问题描述】:

我目前正在尝试创建一个 2 列的链接列表,但是当一个链接进入多行时,它会在下一列中留下一个空白。我过去曾使用Masonry 解决过类似的问题,尽管每次我需要使用它时这似乎总是过大了。有没有一种干净的 CSS 方法可以在不使用 JQuery 插件等的情况下实现这种布局?

标记

<ul class="two-col-links">
    <li><a href="">About us</a></li>
    <li><a href="">Press</a></li>
    <li><a href="">NMMT</a></li>
    <li><a href="">Careers</a></li>
    <li><a href="">Sitemap</a></li>
    <li><a href="">Partners &amp; <br>Links</a></li>
    <li><a href="">Terms &amp; <br>Conditions</a></li>
</ul>

CSS

ul {
    width: 200px;
}
li {
    width: 100px;
    float: left;
    display: inline;
}

JSFiddle

请注意上面的示例“合作伙伴和链接”如何在左侧列中留下空白 - 有没有办法解决这个问题?

【问题讨论】:

标签: html css list


【解决方案1】:

使用float 是个坏主意。尝试使用column-countproperty

看例子:

ul {
    width: 200px;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

li {
    width: 100px;
    float: left;
    display: inline;
}
<ul class="two-col-links">
	<li><a href="">About us</a></li>
	<li><a href="">Press</a></li>
	<li><a href="">NMMT</a></li>
	<li><a href="">Careers</a></li>
	<li><a href="">Sitemap</a></li>
	<li><a href="">Partners &amp; <br>Links</a></li>
	<li><a href="">Terms &amp; <br>Conditions</a></li>
</ul>

【讨论】:

  • @wickywills 在 ul 上使用 column-width 而不是在 li 上使用宽度。
【解决方案2】:
ul {
    width: 200px;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

请注意,这将导致选项向下流动而不是从左向右流动,并且不适用于版本 10 之前的 Internet Explorer。如果您可以接受这些限制,这是最可靠的方法,因为它可以如果菜单中的选项数量增加,可以扩展到多列。

【讨论】:

  • 不得不接受其他答案,因为他们快了几分钟,但 +1 的努力:) 谢谢!
  • 不用担心,出于同样的原因,我赞成@tutankhamun 的回答。
猜你喜欢
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 1970-01-01
相关资源
最近更新 更多