使用gatsby-plugin-theme-ui构建 Gatsby 主题时,文档指出您可以通过将主体添加到嵌套颜色对象中的主题对象来调整主体的背景颜色。这似乎没有效果。其他变量(例如字体和样式)正确引入,但除了在单个元素上调整它之外,我似乎无法改变背景。有没有额外的步骤来让它工作?
使用setInitialMode
和定义暗模式能够改变背景,但这似乎是一个 hacky 解决方案,因为我没有尝试构建主题颜色切换。
这是我在目录中的主题配置文件src/
:
主题.js
export const theme = {
space: [0, 4, 8, 16, 32],
fonts: {
body: "Alegreya Sans SC, system-ui, sans-serif",
heading: `Archivo Black, system-ui, sans-serif`,
},
fontSizes: [16, 18, 20, 22, 27, 36, 72],
lineHeights: {
body: 1.45,
heading: 1.1,
},
colors: {
background: "blue",
text: "purple",
primary: "purple",
},
sizes: {
default: "90vw",
max: "540px",
},
styles: {
body: {
margin: 0,
padding: 0,
},
h1: {
color: "primary",
fontSize: 6,
fontWeight: "bold",
lineHeight: "heading",
fontFamily: "heading",
},
ul: {
borderTop: "1px solid",
borderColor: "gray.0",
listStyle: "none",
padding: 0,
},
li: {
borderBottom: "1px solid",
borderColor: "gray.1",
padding: 2,
"&:focus-within,&:hover": {
backgroundColor: "gray.0",
},
},
},
}
export default theme
目录中的index.jssrc/gatsby-plugin-theme-ui/
:
import theme from "../theme"
export default theme
不会创建错误消息。无论输入什么颜色(十六进制、rgba 或其他颜色),背景都将保持默认颜色。