【问题标题】:Use CSS to order list items top to bottom, left to right使用 CSS 从上到下、从左到右对列表项进行排序
【发布时间】:2014-04-30 21:36:14
【问题描述】:

底部更新

希望在允许水平扩展的固定高度无序列表中对项目进行排序,但希望项目先从上到下排列,然后从左到右排列。这是为了将包含它们的表格单元格的高度保持在设定的高度,但允许它水平扩展。

例如:

<td>
  <ul class="thumbnails">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</td>

1 4
2 5
3

这只能用 CSS 实现吗?

每个列表项都是固定的高度和宽度。 列表中的元素数量是未知且可变的。 列表的所需高度是固定的(3x li 高度)。

我可以轻松获得具有垂直扩展的固定宽度列表,但转置似乎很困难。如果需要,我会在页面上使用 jQuery,但我更喜欢仅使用 CSS 选项。

更新:我想我找到了一个可行的解决方案。 Fiddle using transform

更新 2: 工作!我改变了单元格内的对齐方式,使用了变换旋转和变换原点以及相对定位来让一切正常工作。也许不是最优雅的解决方案,但我会接受! Complete Solution

【问题讨论】:

    标签: jquery html css


    【解决方案1】:

    你可以使用column-count

    ul {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }
    

    jsFiddle example - 似乎产生了预期的结果。

    【讨论】:

    • 唯一不需要 JQ 或服务器端脚本的解决方案。应该注意的是,它不适用于
    • 希望将其保持在最多三行,无论项目数量如何。也许我会尝试将列数与旋转相结合
    【解决方案2】:

    对于固定高度列表,您可以通过组合 CSS 列(请参阅 JoshC 的答案)和writing-mode 属性(目前在 IE 中支持,对 IE7 的支持有限)来实现。

    以下 jsfiddle example 似乎在 IE7 中也可以工作:

    /* CSS for modern browsers */
    ul {
        height: 6.1em;
        column-width: 6em;
        column-gap: 0;
        column-fill: auto;
    }
    
    li {
        display: inline-block;
        vertical-align: top;
        height: 2em;
        width: 2em;
    }
    
    /* IE9 writing-mode workaround */
    ul {
        word-spacing: -.5em;
        writing-mode: tb-lr;
    }
    
    li {
        writing-mode: lr-tb;
        word-spacing: normal;
    }
    
    /* 'magic' workaround of IE7 limitation */
    *+html ul {
        writing-mode: tb-rl;
        filter: flipV();
    }
    
    *+html li {
        display: inline;
        zoom: 1;
        filter:flipH();
        background: #fff;
    }
    

    【讨论】:

    • 这工作接近完美,唯一剩下的问题是,这个列表包含在其中的表格单元格正在扩展到单行的完整宽度,如果它们没有在列中显示的话。这个问题发生在 Chrome 中。即使顺序不同,在 IE 中也能很好地工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 2016-12-03
    • 2019-09-27
    • 1970-01-01
    • 2022-06-18
    相关资源
    最近更新 更多