shinyaz.com

Markdown テーブルの列幅制御は CSS の white-space: nowrap で解決する

約1分

MDX ブログで Markdown テーブルを書いたとき、日本語2文字の列(「新規」「変更」など)が縦に折り返されてしまった。

最初に試したのは Markdown 側のアプローチ — セパレーター行のダッシュ数を増やし、セル内にスペースパディングを追加した:

| 区分   | ファイル | 内容 |
|--------|---------|------|
| 新規   | `src/lib/tils.ts` | TIL クエリ関数 |

効果なし。多くの Markdown レンダラーはセパレーター幅を列幅のヒントとして扱わず、セル内の余白もトリムされる。

解決策は .prose の CSS にテーブルスタイルを追加すること:

src/app/globals.css
.prose {
  & table {
    & td:first-child {
      white-space: nowrap;
    }
  }
}

white-space: nowrap を最初の列に適用すれば、内容の長さに関係なく折り返しが発生しない。Markdown 側で無理にスペースを入れるより、CSS で制御する方が確実で保守しやすい。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのブログで発信しています。