【问题标题】:How to display a reverse-ordered list in HTML?如何在 HTML 中显示倒序列表?
【发布时间】:2014-10-30 22:41:48
【问题描述】:

我需要帮助。有没有办法在 css/scss 中显示反向排序列表?类似的东西:

  5. I am a list item.
  4. I am a list item.
  3. I am a list item.
  2. I am a list item.
  1. I am a list item.

【问题讨论】:

  • 您希望数字倒计时还是颠倒项目的顺序?从您的示例中无法判断。

标签: css html


【解决方案1】:

您可以旋转父元素180deg,然后旋转子元素-180deg

ul {
    transform: rotate(180deg);
}
ul > li {
    transform: rotate(-180deg);
}

Example Here

或者,您可以将弹性框与 order property. 一起使用


虽然这在技术上并没有颠倒顺序,但您也可以使用 counter-increment 和一个伪元素。

Example Here

ul {
    list-style-type:none;
    counter-reset:item 6;
}
ul > li {
    counter-increment:item -1;
}
ul > li:after {
    content: counter(item);
}

【讨论】:

  • 这是一个很棒的“黑客”。谢谢你。 :)
  • 我不禁想知道这背后的故事是什么。解决了我今天的问题,谢谢。
  • 'transform' 很棒,但它也改变了滚动方向。有办法解决吗?
  • @Rubycon - 我想你可以添加direction: rtl 来翻转滚动条,就像在这个更新的例子中一样:jsfiddle.net/p8coyed4 虽然滚动条上的初始位置在底部,但这是相对的。 .. 所以你可能只想在那个时候使用 flexbox 模型并使用order 属性或flex-direction: column-reverse
  • @JoshCrozier 谢谢。 “方向:rtl”并不是我所需要的。实际上,“转换”本身会改变滚动方向(向下->向上),并且对于最终用户来说,它变成了与平常不同的 UX。 “flex-direction: column-reverse” 看起来很有希望,但似乎它对 Firefox 有一个错误..
【解决方案2】:

您可以使用 flexbox 来实现这一点。它允许您使用flex-direction 属性反转顺序。

ol { 
    display: flex;
    flex-direction: column-reverse;
}

li {
    flex: 0 0 auto;
}

【讨论】:

  • 它对浏览器的支持较少。
  • 不支持IE8,9。
  • 转换解决方案也没有。
  • 计数器增量不会颠倒列表项的顺序,它会颠倒编号的顺序。 OP 从未澄清他们想要什么。
  • @Quentin:我将使用计数器增量而不是变换一个。
【解决方案3】:
<ol reversed>
  <li>I am a list item.</li>
  <li>I am a list item.</li>
  <li>I am a list item.</li>
  <li>I am a list item.</li>
  <li>I am a list item.</li>
</ol>

【讨论】:

【解决方案4】:

如果您想按降序而不是升序对列表进行排序:
快速回复:reversed="reversed"


请阅读下面的解释:

在以前的 HTML 版本中,实现这一点的唯一方法是在每个元素上放置一个 value 属性,其值依次递减。

<h3>Top 5 TV Series</h3>
<ol>
  <li value="5">Friends
  <li value="4">24
  <li value="3">The Simpsons
  <li value="2">Stargate Atlantis
  <li value="1">Stargate SG-1
</ol>

这种方法的问题是手动指定每个值的编写和维护可能很耗时,并且 HTML 4.01 或 XHTML 1.0 Strict DOCTYPE 中不允许 value 属性(尽管 HTML 5 修复了该问题并允许 value属性) 新标记非常简单:只需向 ol 元素添加一个 reversed 属性,并可选择提供一个起始值。如果没有提供起始值,浏览器将计算列表项的数量,并从该数字倒数到 1。

<h3>Greatest Movies Sagas of All Time</h3>
<ol reversed>
  <li>Police Academy (Series)
  <li>Harry Potter (Series)
  <li>Back to the Future (Trilogy)
  <li>Star Wars (Saga)
  <li>The Lord of the Rings (Trilogy)
</ol>

由于该列表中有 5 个列表项,因此该列表将从 5 倒数到 1。 reversed 属性是一个布尔属性。在 HTML 中,该值可以省略,但在 XHTML 中,需要写成:reversed="reversed"。

来源:https://dzone.com/articles/html-5-reverse-ordered-lists

【讨论】:

    【解决方案5】:

    查看此链接... 你可以使用 flex-direction: row-reverse;

    enter link description here

    【讨论】:

      【解决方案6】:

      使用这个希望对您有所帮助 现代浏览器支持它

      <ol reversed="reversed" start="3">
         <li> lorem ipsum </li>
         <li> Lorem ipsum dollar amet </li>
         <li> dollar amet </li>
      </ol>
      

      【讨论】:

        猜你喜欢
        • 2015-04-18
        • 2020-12-02
        • 1970-01-01
        • 1970-01-01
        • 2017-12-27
        • 1970-01-01
        • 2022-01-08
        • 2021-09-30
        • 1970-01-01
        相关资源
        最近更新 更多