如何在 react-markdown 中为元素添加样式?
How to add styling for elements in react-markdown?
我在 React Markdown 中传递了各种数据,例如表格、列表和 h 标签。我想知道如何分别设置每个元素的样式。我到处搜索,但没有提到如何设置元素的样式,除了加粗或强调等。我想我可以在 ReactMarkdown 组件中传递一个 class 名称来设置它的样式,但这不只是提供样式吗对于组件。如何设置其中各种元素的样式?
const ReadMePreviewer = ({ readMeCode }) => {
return (
<ReactMarkdown
plugins={[[gfm, { singleTilde: false }]]}
className={style.reactMarkDown}
// className={style.reactMarkDownRemovingExtraGlobal}
renderers={renderers}
source={readMeCode}
/>
);
};
这就是我想让它为我工作的方式。我用 CSS 而不是 SCSS 或 CSS-in-JS 来明确地做到这一点,以免用额外的库或 webpack/babel 微调来打扰你:
使用您的样式创建一个单独的 markdown-styles.module.css
CSS 模块文件,例如,
.reactMarkDown {
// some root styles here
}
.reactMarkDown ul {
margin-top: 1em;
margin-bottom: 1em;
list-style: disc outside none;
}
.reactMarkDown ul li {
margin-left: 2em;
display: list-item;
text-align: -webkit-match-parent;
}
// your other styles but all under .reactMarkDown blocks
然后你可以将它导入到你的组件中并像你一样使用:
import style from './markdown-styles.module.css';
...
const ReadMePreviewer = ({ readMeCode }) => {
return (
<ReactMarkdown
plugins={[[gfm, { singleTilde: false }]]}
className={style.reactMarkDown}
renderers={renderers}
children={readMeCode}
/>
);
};
这似乎可以将 换行 </p>
<p>App.css</p>
<pre><code>.markdown code {
display: block;
white-space: pre-wrap;
}
组件:
<ReactMarkdown className="markdown">{page.Content}</ReactMarkdown>
我在 React Markdown 中传递了各种数据,例如表格、列表和 h 标签。我想知道如何分别设置每个元素的样式。我到处搜索,但没有提到如何设置元素的样式,除了加粗或强调等。我想我可以在 ReactMarkdown 组件中传递一个 class 名称来设置它的样式,但这不只是提供样式吗对于组件。如何设置其中各种元素的样式?
const ReadMePreviewer = ({ readMeCode }) => {
return (
<ReactMarkdown
plugins={[[gfm, { singleTilde: false }]]}
className={style.reactMarkDown}
// className={style.reactMarkDownRemovingExtraGlobal}
renderers={renderers}
source={readMeCode}
/>
);
};
这就是我想让它为我工作的方式。我用 CSS 而不是 SCSS 或 CSS-in-JS 来明确地做到这一点,以免用额外的库或 webpack/babel 微调来打扰你:
使用您的样式创建一个单独的 markdown-styles.module.css
CSS 模块文件,例如,
.reactMarkDown {
// some root styles here
}
.reactMarkDown ul {
margin-top: 1em;
margin-bottom: 1em;
list-style: disc outside none;
}
.reactMarkDown ul li {
margin-left: 2em;
display: list-item;
text-align: -webkit-match-parent;
}
// your other styles but all under .reactMarkDown blocks
然后你可以将它导入到你的组件中并像你一样使用:
import style from './markdown-styles.module.css';
...
const ReadMePreviewer = ({ readMeCode }) => {
return (
<ReactMarkdown
plugins={[[gfm, { singleTilde: false }]]}
className={style.reactMarkDown}
renderers={renderers}
children={readMeCode}
/>
);
};
这似乎可以将 换行 </p>
<p>App.css</p>
<pre><code>.markdown code {
display: block;
white-space: pre-wrap;
}
组件:
<ReactMarkdown className="markdown">{page.Content}</ReactMarkdown>