成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個有意思的方案:不借助后臺和 JS ,只用 CSS 讓一個列表編號倒序,你會怎么做?

開發 項目管理
我正在做一個項目,其中有一個倒序的列表。列表創建時間降序排序的,這里我想在語義和視覺上都能體現出來(讓列表顯示對應的編號,編號越大表示是最新的)。網上做了一些研究,找到了一些有趣的解決辦法,有些很好,有些就不那么好了。

 [[336026]]

我正在做一個項目,其中有一個倒序的列表。列表創建時間降序排序的,這里我想在語義和視覺上都能體現出來(讓列表顯示對應的編號,編號越大表示是最新的)。網上做了一些研究,找到了一些有趣的解決辦法,有些很好,有些就不那么好了。

最終結果類似如下:

3.C

4.B

5.A

接著,我們來看看有哪些實現的方式。

HTML中的reversed 屬性

簡單,最直接的解決方案是HTML中的reversed屬性。

  1. <ol reversed> 
  2.   <li>C</li> 
  3.   <li>B</li> 
  4.   <li>A</li> 
  5. </ol> 

 

reversed 屬性是一個布爾屬性,reversed 屬性規定列表順序為降序 (9, 8, 7...),而不是升序 (1, 2, 3...)。

reversed 屬性除了 IE 大多數的瀏覽器都支持,如果你只想要解決方法,用這種就夠了。

如果你好奇還有哪些實現方式,請繼續閱讀。

HTML中的value屬性

另一種方法就是使用 value 屬性:

  1. <ol> 
  2.   <li value="3">C</li> 
  3.   <li value="2">B</li> 
  4.   <li value="1">A</li> 
  5. </ol> 

 

這種方式雖然比較冗長,但我們對列表也有更多控制權,比如,我們還可以這樣操作:

  1. <ol> 
  2.   <li value="6">C</li> 
  3.   <li value="4">B</li> 
  4.   <li value="2">A</li> 
  5. </ol> 

 

最好還是不要這樣做,因為跳過數字可能會讓用戶感到困惑。

CSS 自定義的 counter()

第三種方式就是使用CSS的 counter 計算器, 要倒序計數器的順序,我們有兩件事要做:將計數器重置為非0的值,并以負數遞增計數器。

  1. <ol> 
  2.   <li>C</li> 
  3.   <li>B</li> 
  4.   <li>A</li> 
  5. </ol> 
  6. ol { 
  7.   counter-reset: my-custom-counter 4; 
  8.   list-style: none; 
  9.  
  10. ol li { 
  11.   counter-increment: my-custom-counter -1; 
  12.  
  13. ol li::before { 
  14.   content: counter(my-custom-counter) ". "
  15.   color: #f23c50; 
  16.   font-size: 2.5rem; 
  17.   font-weight: bold; 

 

如果我們不知道確切的列表數量,則可以將counter-reset屬性移到HTML中:

  1. <ol style="counter-reset: my-custom-counter {{ items.length + 1 }}"
  2.   <li>C</li> 
  3.   <li>B</li> 
  4.   <li>A</li> 
  5. </ol> 
  6. ol { 
  7.   list-style: none; 
  8.  
  9. ol li { 
  10.   counter-increment: my-custom-counter -1; 
  11.  
  12. ol li::before { 
  13.   content: counter(my-custom-counter) ". " 

一些文章建議使用Flexbox或類似的技術來反轉 CSS 中列表順序。我們不應該這樣做,因為它看起來是正確的,但 DOM 的順序保持不變。在 CSS 中改變順序對DOM順序沒有影響。

  1. <ol> 
  2.   <li>A</li> 
  3.   <li>B</li> 
  4.   <li>C</li> 
  5. </ol> 
  6. ol { 
  7.   display: flex; 
  8.   flex-direction: column-reverse; 

 

頁面上看好像是我們想要的結果,但你按 F12 打開調試模式,檢查該 DOM 的順序,你會我發現 DOM 的順序是 **“ABC”而不是“CBA”**的順序渲染列表。另外,如果我們復制并粘貼列表,瀏覽器可能會以其原始順序“ABC”復制它。

另外我還在 StackOverflow 上找到的另一個非常有創意的解決方案。其結果與Flexbox的解決方案類似,但也有更多的缺點(例如,它會干擾滾動)。

  1. <ol> 
  2.   <li>A</li> 
  3.   <li>B</li> 
  4.   <li>C</li> 
  5. </ol> 
  6. ol { 
  7.   transform: rotate(180deg); 
  8.  
  9. ol > li { 
  10.   transform: rotate(-180deg); 

當然這估計在絕望中沒辦法了,才會這么做,我們最好還是不要這樣搞。

本期的分享就到這了,感謝的大家的觀看,我們下期分享在見過。

作者:Manuel Matuzovic 譯者:前端小智 來源:matuzo 原文:https://dzone.com/articles/html-5-reverse-ordered-lists

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2023-05-15 09:16:18

CSSCSS Mask

2020-12-12 13:50:16

云開發

2018-06-24 16:39:28

Tomcat異常線程

2021-01-27 13:54:05

開發云原生工具

2024-05-20 01:10:00

Promise變量

2024-08-28 08:38:51

2024-03-18 08:14:07

SpringDAOAppConfig

2009-08-26 17:53:31

C# DropDown

2022-03-21 10:21:50

jQuery代碼模式

2015-03-12 10:46:30

代碼代碼犯罪

2021-01-14 05:23:32

高并發消息中間件

2021-04-26 07:53:06

DOM前端框架

2022-05-13 08:12:00

JMeter測試計劃

2023-07-17 09:19:20

CSSCSS 漸變

2017-12-07 15:05:50

全球互聯網創新峰會

2020-03-10 14:59:16

oracle數據庫監聽異常

2022-05-20 07:36:02

LiveTerm工具

2023-08-27 21:25:20

用戶畫像數據數據分析

2021-06-10 08:15:49

CSS 文字動畫技巧

2023-11-21 21:59:50

c++接口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 综合网视频| 欧美日韩国产精品一区二区 | 狠狠干2020 | 欧美成人自拍 | 狠狠的干狠狠的操 | 鲁一鲁资源影视 | 91嫩草精品| 久久精品中文字幕 | av在线免费观看网站 | 正在播放国产精品 | 亚洲精品www久久久久久广东 | 久久一视频 | 视频在线一区二区 | 日日爱av | 伊人网站在线观看 | 一级毛片在线播放 | 欧美 日韩 在线播放 | 国产激情偷乱视频一区二区三区 | 日韩三级电影在线看 | 欧美视频日韩 | 亚洲精品久久久久中文字幕欢迎你 | 亚洲精品视频在线 | 日韩成人在线播放 | 在线看日韩 | 午夜精品久久久久久久久久久久久 | 国产一级片免费视频 | 影音先锋欧美资源 | 亚州中文字幕 | 亚洲国产成人在线观看 | 国产精品美女久久久久aⅴ国产馆 | 国产在视频一区二区三区吞精 | 91青青草视频 | 四虎影院在线观看av | 亚洲免费三区 | 中文日韩在线视频 | 激情欧美日韩一区二区 | 国产精品a久久久久 | 91精品国产91久久久久久最新 | 亚洲国产福利视频 | 美国一级黄色片 | cao在线 |