首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CSS模块对mdx呈现的元素进行样式处理?

如何使用CSS模块对mdx呈现的元素进行样式处理?
EN

Stack Overflow用户
提问于 2022-06-25 07:33:14
回答 1查看 300关注 0票数 1

我正在构建带有function的博客,其中post文件是.mdx,我使用gatsby-plugin-mdxMDXRenderer将它们呈现为HTML。我使用的是.module.scss样式,但不能在呈现的HTML中使用模块,有类似于参数或函数的方法吗?

代码语言:javascript
复制
import * as React from "react";
import { graphql } from "gatsby";
import { MDXRenderer } from "gatsby-plugin-mdx";
import Layout from "../../components/Layout";

interface DataType {
  mdx: {
    frontmatter: {
      title: string;
      date: string;
    };
    body: string;
  };
}

const BlogPost = ({ data }: { data: DataType }) => {
  return (
    <Layout pageTitle={data.mdx.frontmatter.title}>
      <p>{data.mdx.frontmatter.date}</p>
      <MDXRenderer>{data.mdx.body}</MDXRenderer>
    </Layout>
  );
};

export const query = graphql`
  query ($id: String) {
    mdx(id: { eq: $id }) {
      frontmatter {
        title
        date(formatString: "MMMM D, YYYY")
      }
      body
    }
  }
`;

export default BlogPost;
EN

回答 1

Stack Overflow用户

发布于 2022-07-24 15:54:10

您可以使用components属性(例如,在布局组件中)在MDXProvider中执行此操作。

代码语言:javascript
复制
import { myP } from './style/mdx.module.css';

<MDXProvider
  components={{
    p: props => <p {...props} style={myP} />,
  }}
>

顺便说一句,如果您想要更好的控制,您也可以映射标记来响应组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72752054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档