我创建了一个简单的默认页面,该页面使用来自 GraphCMS 的内容(图像和文本)呈现。
我可以查询和显示内容,但我不确定如何使图像适应视图/容器,因为我不知道如何访问图像和设置 CSS 类。
我正在使用插件“gatsby-plugin-mdx”来呈现以下内容:page.content.markdownNode.childMdx.body
这是我的 DefaultPage.tsx 文件:
import React from "react"
import Layout from "../layout/layout"
import styled from "styled-components"
import { H1, BodyMain } from "../styles/TextStyles"
import { MDXRenderer } from "gatsby-plugin-mdx"
export default function DefaultPageTemplate({ pageContext: { page } }) {
return (
<Layout>
<Wrapper>
<HeaderWrapper>
<TextWrapper>
<TitleWrapper>{page.title}</TitleWrapper>
<SubtitleWrapper>{page.subtitle}</SubtitleWrapper>
</TextWrapper>
</HeaderWrapper>
<ContentWrapper>
<MDXRenderer>{page.content.markdownNode.childMdx.body}</MDXRenderer>
</ContentWrapper>
</Wrapper>
</Layout>
)
}
const Wrapper = styled.div``
const HeaderWrapper = styled.div`
min-height: 300px;
color: #ffffff;
background-color: #339861;
display: grid;
justify-content: center;
align-items: center;
padding: 30px;
`
const TextWrapper = styled.div`
text-align: center;
`
const TitleWrapper = styled(H1)``
const SubtitleWrapper = styled(BodyMain)``
const ContentWrapper = styled.div`
margin: 1rem;
`
下面是我在浏览器中检查元素时的屏幕截图。看起来图像被包裹在一个段落中:
你能帮我理解如何为更小的视图/屏幕缩放图像吗?