刪除線
刪除線是 Markdown 的擴展語法,用於表示已被刪除或不再有效的文本。它在文檔修訂、任務列表、價格變動等場景中非常實用。
基本語法
標准語法
在 Markdown 中,刪除線通常使用兩個波浪線(~~
)將要添加刪除線的文本包圍起來:
markdown
這是一段包含~~刪除線文本~~的示例。
渲染效果:
這是一段包含刪除線文本的示例。
詞組和句子
刪除線可以應用於單個詞語或整個句子:
markdown
~~這整個句子都被劃上了刪除線。~~
我們將在下周~~周一~~周二開會。
渲染效果:
這整個句子都被劃上了刪除線。
我們將在下周周一周二開會。
高級用法
與其他格式化結合使用
刪除線可以與其他 Markdown 格式結合使用:
markdown
~~**粗體刪除線**~~
~~*斜體刪除線*~~
~~***粗體斜體刪除線***~~
~~`代碼刪除線`~~
~~[鏈接刪除線](https://www.markdownlang.com)~~
渲染效果:
粗體刪除線
斜體刪除線
粗體斜體刪除線
代碼刪除線
段落和塊級元素
在某些 Markdown 實現中,刪除線可以應用於整個段落或塊級元素:
markdown
~~
這是一個完整的被刪除的段落。
它可以包含多行內容。
~~
注意:不是所有 Markdown 處理器都支持跨多行的刪除線語法。對於跨多行內容,最安全的方法是在每一行單獨使用刪除線語法。
兼容性和實現差異
不同平台支持情況
平台/工具 | 刪除線支持 | 語法 |
---|---|---|
GitHub Markdown | ✅ | ~~刪除線~~ |
GitLab Markdown | ✅ | ~~刪除線~~ |
Stack Overflow | ✅ | ~~刪除線~~ |
Discord | ✅ | ~~刪除線~~ |
✅ | ~~刪除線~~ | |
CommonMark | ✅ | ~~刪除線~~ |
VitePress | ✅ | ~~刪除線~~ |
Pandoc | ✅ | ~~刪除線~~ |
HTML 輸出格式
大多數 Markdown 處理器會將刪除線轉換為 HTML <del>
或 <s>
標簽:
html
<!-- 使用 <del> 標簽 -->
<p>這是一段包含<del>刪除線文本</del>的示例。</p>
<!-- 或使用 <s> 標簽 -->
<p>這是一段包含<s>刪除線文本</s>的示例。</p>
替代語法
某些平台或舊版本 Markdown 可能支持不同的刪除線語法:
markdown
<!-- 單波浪線(某些平台) -->
~刪除線文本~
<!-- HTML 標簽(所有符合規范的 Markdown 處理器) -->
<del>刪除線文本</del>
<s>刪除線文本</s>
使用場景
文檔修訂
刪除線常用於顯示文檔修訂和更改:
markdown
# 項目計劃 v2.0
## 時間表
- 需求分析:~~3月1日-3月15日~~ 3月1日-3月20日(延期)
- 設計階段:~~3月16日-4月5日~~ 3月21日-4月10日
- 開發階段:4月11日-5月15日
- 測試階段:5月16日-5月30日
- 發布日期:~~6月1日~~ 6月15日
渲染效果:
項目計劃 v2.0
時間表
- 需求分析:
3月1日-3月15日3月1日-3月20日(延期) - 設計階段:
3月16日-4月5日3月21日-4月10日 - 開發階段:4月11日-5月15日
- 測試階段:5月16日-5月30日
- 發布日期:
6月1日6月15日
任務列表
刪除線結合復選框可創建更直觀的任務列表:
markdown
## 本周任務
- [x] ~~完成項目提案~~
- [x] ~~與客戶會面討論需求~~
- [ ] 創建設計原型
- [ ] 編寫技術規格文檔
- [ ] 准備預算估算
渲染效果:
本周任務
- [x]
完成項目提案 - [x]
與客戶會面討論需求 - [ ] 創建設計原型
- [ ] 編寫技術規格文檔
- [ ] 准備預算估算
價格和促銷
刪除線在電子商務和促銷內容中非常有用:
markdown
## 特價商品
- 高性能筆記本電腦:~~¥8,999~~ ¥7,499
- 無線耳機:~~¥1,299~~ ¥999
- 智能手表:~~¥2,499~~ ¥1,999
*促銷截止日期:2023年12月31日*
渲染效果:
特價商品
- 高性能筆記本電腦:
¥8,999¥7,499 - 無線耳機:
¥1,299¥999 - 智能手表:
¥2,499¥1,999
促銷截止日期:2023年12月31日
幽默和強調
刪除線有時用於表達幽默或強調:
markdown
今天的會議~~非常無聊~~非常有成效。
我~~討厭~~喜歡編寫文檔。
這個項目~~可能會失敗~~必將成功!
渲染效果:
今天的會議非常無聊非常有成效。
我討厭喜歡編寫文檔。
這個項目可能會失敗必將成功!
最佳實踐
用法建議
markdown
✅ 推薦做法:
1. **清晰表達修改**:
- 刪除舊內容,添加新內容
- 例如: ~~錯誤版本~~ 正確版本
2. **簡潔使用**:
- 避免過多刪除線內容影響可讀性
- 考慮是否真的需要保留舊內容
3. **與其他標記結合**:
- 在任務列表中結合復選框使用
- 與其他格式化結合增強表現力
❌ 避免做法:
1. 刪除線內使用過多復雜格式
2. 大段文本全部使用刪除線(影響可讀性)
3. 在重要文檔中過度使用幽默性刪除線
4. 對整篇文檔或多個段落應用刪除線
無障礙性考慮
刪除線可能對屏幕閱讀器用戶造成混淆。考慮以下幾點:
- 為刪除線內容添加上下文說明
- 考慮使用其他方式(如括號、注釋)來表示廢棄內容
- 如果內容真的不再相關,考慮完全刪除而不是使用刪除線
markdown
<!-- 更好的可訪問性寫法 -->
項目截止日期:3月15日(已更新:原計劃3月1日)
<!-- 而不是 -->
項目截止日期:~~3月1日~~ 3月15日
常見問題解決
刪除線不顯示
如果您的刪除線沒有正確顯示:
- 確認使用的是兩個波浪線
~~
,而不是一個~
- 檢查波浪線和文本之間是否有空格(不應有空格)
- 驗證您的 Markdown 處理器是否支持刪除線語法
- 嘗試使用 HTML
<del>
標簽作為替代
復雜格式問題
當刪除線與其他格式結合使用時可能出現問題:
markdown
<!-- 可能有問題的寫法 -->
~~**[復雜格式](https://www.markdownlang.com)**~~
<!-- 更安全的寫法 -->
<del>**[復雜格式](https://www.markdownlang.com)**</del>
多段落刪除線
對於需要跨多個段落的刪除線,最好使用 HTML:
markdown
<del>
這是第一個被刪除的段落。
這是第二個被刪除的段落。
</del>
相關語法
總結
刪除線是一個簡單但功能強大的 Markdown 擴展語法,它提供了一種直觀的方式來表示文本修改、完成的任務或過時的信息。通過合理使用刪除線,可以使文檔更加清晰、生動,讓讀者更容易理解內容的演變過程。