preloader
軟體工程

以 css 調整 html ol li 條列數字編號的層級

用網頁呈現公告、食譜或合約常見有條列式的文章,常常需要為內容標號碼,如果是文章本文已含數字編號,日後要更動順序則會花時間檢查上下文編號是否一致按順序標好。若用瀏覽器本身解析 css 的能力以自動標記號碼,將不用擔心條目編號是否有按照順序。

例如我有一個用電磁爐煎冷凍雞塊食譜的內容:

1. 事前準備工作:

  1.1. 擦乾不鏽鋼鍋內部、外部和底部。

  1.2. 在不鏽鋼鍋內鋪好知名品牌的萬用料理紙。

  1.3. 一台可以調整烹調溫度至少85度到160度的電磁爐、一雙筷子、一個木鍋鏟和一個盤子 。

  1.4. 一包從冷凍庫拿出來尚未解凍的冷凍雞塊。

  1.5. 不用準備沙拉油。

2.煮食過程:

  2.1. 在鋪好萬用料理紙的不鏽鋼鍋裡面,放入想吃的雞塊數量。

  2.2. 放不鏽鋼鍋到電磁爐上。

  2.3. 不需預熱電磁爐,打開電磁爐,並且調整溫度到160度。

  2.4. 每約30秒,就翻面一次鍋內所有的雞塊,持續約7分鐘。煮食期間不用鍋蓋蓋著。

  2.5. 如果發現鍋內區域有加熱不均的情況(例如雞塊有的煎到焦掉,有的則仍是冷凍狀態),可以用筷子跟木鍋鏟夾起鍋內的料理紙,保持雞塊不碰到不鏽鋼鍋內壁和鍋內底部的方式,旋轉萬用料理紙讓每個雞塊輪流均勻受熱。

  2.6. 煎到雞塊表皮酥且微硬,以及顏色呈金黃色,即可用筷子夾起放到盤子。

3. 結束:

  3.1 吃之前拍食物照片,並且上傳社群網路。

  3.2 享用美食。

  3.3 清理煮食環境。


 

如果我要用 html 和 css ,在瀏覽器看到食譜內容的自動標號和層級安排,我可以使用以下內容:

<html>

<head>

<title> 我的無油煎雞塊食譜 </title>

<link type="text/css" rel="stylesheet" href="/css/myother.css">

<style>

ol { counter-reset: item ;}  
li{ display: block ;}  
li:before { 
  content: counters(item, "-") ". "; counter-increment: item 
} /* 這行會讓第二層級顯示 1-1., 1-2., 2-1., 2-2. ; 第三層級顯示 1-1-1., 1-1-2., 1-2-1., 1-2-2., 2-1-1., 2-1-2. ; 如果要改成 1.1.1., 1.1.2., 1.2.1., 1.2.2., 2.1.1., 2.1.2. 這種格式,只需改變 counters(item, "-") 成 counters(item, ".") */  
ol li{ counter-increment: initial;} /* 這行是處理若 myother.css 也有對 ol 、 li 和 li:before 做其他操作,導致本頁 css 的 counters() 算 item 數值算錯之情況,強制counter 增幅用初始值,值是 none */

</sytle>

</head>

<body>

<ol>

<li>事前準備工作:

 <ol>

   <li>擦乾不鏽鋼鍋內部、外部和底部。</li>

   <li>在不鏽鋼鍋內鋪好知名品牌的萬用料理紙。</li>

   <li>一台可以調整烹調溫度至少85度到160度的電磁爐、一雙筷子、一個木鍋鏟和一個盤子 。</li>

   <li>一包從冷凍庫拿出來尚未解凍的冷凍雞塊。</li>

   <li> 不用準備沙拉油。</li>



 </ol>

</li>

<li>

煮食過程:

  <ol>

   <li>在鋪好萬用料理紙的不鏽鋼鍋裡面,放入想吃的雞塊數量。</li>

   <li>放不鏽鋼鍋到電磁爐上。</li>

   <li>不需預熱電磁爐,打開電磁爐,並且調整溫度到160度。</li>

   <li>每約30秒,就翻面一次鍋內所有的雞塊,持續約7分鐘。煮食期間不用鍋蓋蓋著。</li>

   <li>如果發現鍋內區域有加熱不均的情況(例如雞塊有的煎到焦掉,有的則仍是冷凍狀態),可以用筷子跟木鍋鏟夾起鍋內的料理紙,保持雞塊不碰到不鏽鋼鍋內壁和鍋內底部的方式,旋轉萬用料理紙讓每個雞塊輪流均勻受熱。</li>

   <li>煎到雞塊表皮酥且微硬,以及顏色呈金黃色,即可用筷子夾起放到盤子。</li>



  </ol>

</li>

<li>

結束:

  <ol>

    <li>吃之前拍食物照片,並且上傳社群網路。</li>

    <li>享用美食。 </li>

    <li>清理煮食環境。</li>

  </ol>

</li>

</ol>

</body>

</html>