Skip to content

Markdown 高級用法

當 Markdown 的基本語法和擴展語法無法滿足特定需求時,你需要掌握一些高級技巧和變通方法。本章節將介紹如何突破 Markdown 的限制,實現更復雜的格式和功能。

什麼是高級用法?

高級用法(也稱為變通方法)是指在 Markdown 語法限制下,通過創造性的方法實現特定的格式化效果。這些技巧通常涉及:

  • 嵌入 HTML 代碼
  • 組合使用不同語法元素
  • 利用特定平台的擴展功能
  • 使用第三方工具和插件

主要應用場景

布局控制

  • 文本對齊
  • 多列布局
  • 圖文混排
  • 間距調整

樣式定制

  • 顏色設置
  • 字體修改
  • 尺寸控制
  • 特殊效果

高級內容

  • 數學公式
  • 流程圖和圖表
  • 交互元素
  • 嵌入媒體

HTML 增強

基本 HTML 標簽

Markdown 支持在文檔中直接使用 HTML 標簽:

html
<div style="text-align: center;">
  <strong style="color: red;">居中的紅色粗體文本</strong>
</div>

<img src="image.jpg" width="300" height="200" alt="指定尺寸的圖片">

<table border="1">
  <tr>
    <td style="background-color: #f0f0f0;">自定義樣式的表格</td>
  </tr>
</table>

樣式控制

使用 CSS 樣式實現精確控制:

html
<p style="color: blue; font-size: 18px; text-align: center;">
  藍色、18像素、居中的段落
</p>

<div style="border: 2px solid #333; padding: 10px; border-radius: 5px;">
  帶邊框的內容區域
</div>

圖片高級處理

圖片對齊

html
<!-- 左對齊 -->
<img src="image.jpg" align="left" width="200">

<!-- 右對齊 -->
<img src="image.jpg" align="right" width="200">

<!-- 居中對齊 -->
<div align="center">
  <img src="image.jpg" width="300">
</div>

圖片尺寸控制

html
<!-- 固定寬高 -->
<img src="image.jpg" width="300" height="200">

<!-- 響應式圖片 -->
<img src="image.jpg" style="max-width: 100%; height: auto;">

<!-- 圖片加邊框 -->
<img src="image.jpg" style="border: 2px solid #ddd; border-radius: 8px;">

圖文混排

html
<div style="display: flex; align-items: center;">
  <img src="avatar.jpg" width="80" height="80" style="margin-right: 15px;">
  <div>
    <h3 style="margin: 0;">用戶名</h3>
    <p style="margin: 5px 0;">這裡是用戶的介紹文本...</p>
  </div>
</div>

表格增強

表格樣式定制

html
<table style="border-collapse: collapse; width: 100%;">
  <thead style="background-color: #f2f2f2;">
    <tr>
      <th style="border: 1px solid #ddd; padding: 8px;">列標題1</th>
      <th style="border: 1px solid #ddd; padding: 8px;">列標題2</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #f9f9f9;">
      <td style="border: 1px solid #ddd; padding: 8px;">數據1</td>
      <td style="border: 1px solid #ddd; padding: 8px;">數據2</td>
    </tr>
  </tbody>
</table>

復雜表格結構

html
<table>
  <tr>
    <td rowspan="2">合並行</td>
    <td>普通單元格</td>
  </tr>
  <tr>
    <td>普通單元格</td>
  </tr>
  <tr>
    <td colspan="2">合並列</td>
  </tr>
</table>

數學公式支持

LaTeX 語法

許多平台支持 LaTeX 數學公式:

latex
行內公式:$E = mc^2$

塊級公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

矩陣:
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$

MathJax 集成

html
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

流程圖和圖表

Mermaid 圖表

mermaid
graph TD
    A[開始] --> B{條件判斷}
    B -->|是| C[執行操作A]
    B -->|否| D[執行操作B]
    C --> E[結束]
    D --> E

甘特圖

mermaid
gantt
    title 項目計劃
    dateFormat  YYYY-MM-DD
    section 設計階段
    需求分析      :done,    des1, 2023-01-01,2023-01-15
    UI設計       :active,  des2, 2023-01-16, 3d
    section 開發階段
    前端開發     :         dev1, after des2, 20d
    後端開發     :         dev2, after des2, 25d

交互元素

折疊內容

html
<details>
  <summary>點擊展開</summary>
  <p>這裡是折疊的內容...</p>
</details>

進度條

html
<progress value="70" max="100">70%</progress>

按鈕樣式

html
<button style="background-color: #4CAF50; color: white; padding: 10px 20px; border: none; border-radius: 4px;">
  點擊按鈕
</button>

布局技巧

多列布局

html
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
  <div>
    <h3>左列內容</h3>
    <p>這裡是左列的內容...</p>
  </div>
  <div>
    <h3>右列內容</h3>
    <p>這裡是右列的內容...</p>
  </div>
</div>

卡片布局

html
<div style="border: 1px solid #ddd; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
  <h3 style="margin-top: 0;">卡片標題</h3>
  <p>卡片內容描述...</p>
  <a href="#" style="color: #007bff; text-decoration: none;">了解更多</a>
</div>

平台特定功能

GitHub 特性

markdown
<!-- 任務列表 -->
- [x] 完成的任務
- [ ] 未完成的任務

<!-- 提及用戶 -->
@username

<!-- 引用問題 -->
#123

<!-- 代碼差異 -->
```diff
- 刪除的行
+ 添加的行

### GitLab 功能

```markdown
<!-- 視頻嵌入 -->
![video](video.mp4)

<!-- 音頻嵌入 -->
![audio](audio.mp3)

最佳實踐建議

兼容性考慮

  • 在不同平台測試你的高級語法
  • 為不支持的平台提供降級方案
  • 優先使用標准 Markdown 語法

性能優化

  • 避免過度使用內聯樣式
  • 使用外部 CSS 文件統一樣式
  • 壓縮圖片和媒體文件

可維護性

  • 保持代碼簡潔和可讀性
  • 添加必要的注釋說明
  • 使用版本控制管理文檔

工具和資源

編輯器推薦

在線工具

參考資源

進一步學習

由 Markdownlang.com 整理創建