1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【react-markdown + tailwindcss】見出しやリストのスタイルが反映されない時の解決法

Posted at

はじめに

react-markdownを使ってマークダウン入力機能を作っていたところ、プレビュー表示しても見出しの大きさが変わらない事象がありました。
解消方法について調べたことをまとめます。

問題

react-markdownライブラリを元にテキストエリアと作成、マークダウン記法で書くも、プレビューで見た目が一部変わらない
左:MD画面、右:プレビュー

原因

スタイルを適用していなかったから。

tailwindcssを導入している場合、デフォルトでブラウザの基本スタイルをリセットし、<h1><ul>などの要素が通常のテキストと同じ見た目になります。
そのため、反映されていないと勘違いしていました。

解決方法

@tailwindcss/typographyを使用する

公式READMEより引用(翻訳)

公式のTailwind CSSタイポグラフィープラグインは、MarkdownからレンダリングされたHTMLやCMSから取得したHTMLなど、制御できないシンプルなHTMLに美しいデフォルトのタイポグラフィを追加するために使用できる一連のproseクラスを提供します。

1.ライブラリインストール

npm install -D @tailwindcss/typography

2.プラグイン追加

tailwindcss v4を導入しているため、globals.cssに追加しました。

globals.css
@import "tailwindcss";
@import "tw-animate-css";
+ @plugin "@tailwindcss/typography";

※v3の場合はtailwind.config.jsに定義

js:tailwind.config.js
module.exports = {
  theme: {
    // ...
  },
  plugins: [
    require('@tailwindcss/typography'),
    // ...
  ],
}

3.スタイルを適用したい箇所にproseクラスを指定する

+  <div className="prose">
    <Markdown remarkPlugins={[remarkGfm]}>{markdown}</Markdown>
+  </div>

適用されました。

おわりに

react-markdownのプラグインを指定しないと表示されないのか?など回り道をしてしまいました。
tailwindcssもライブラリを導入するだけでなく定義周りも知っておきたいと思う出来事でした。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?