有这个项目,有人在其中编写了带有自定义 css 的组件。
我在里面看到了这个东西 这是一个类似于Material ui中的Container的wrapper组件,或者只是一个应用css的div wrapper。
export const Container = styled.div`
position: relative;
margin: 0 auto;
margin-top: ${p => p.marginTop ? p.theme.spacing[p.marginTop] : 0};
width: 100%;
max-width: ${p => (p.maxWidth && p.theme.screen[p.maxWidth])};
padding: ${p => p.padding ? `0 ${p.theme.spacing[p.padding]}` : `0 ${p.theme.spacing.sm}`};
z-index: ${p => p.zIndex && p.theme.zIndex[p.zIndex]};
background-color: ${p => p.color && p.theme.colors[p.color]};
border-radius: ${p => p.radius && p.theme.radius[p.radius]};
`;
但我不明白 p.marginTop、p.theme 和所有其他
但现在我只想将它转换为简单的 div 包装器,并以 material ui 的方式赋予它样式属性。
像这样的事情
const useStyles = makeStyles((theme) => ({
container: {
position: 'relative',
margin: '0 auto',
// margin-top: ${p => p.marginTop ? p.theme.spacing[p.marginTop] : 0},
width: '100%',
// max-width: ${p => (p.maxWidth && p.theme.screen[p.maxWidth])},
// padding: ${p => p.padding ? `0 ${p.theme.spacing[p.padding]}` : `0 ${p.theme.spacing.sm}`},
padding: themeIntance.spacing.sm,
// z-index: ${p => p.zIndex && p.theme.zIndex[p.zIndex]},
// background-color: ${p => p.color && p.theme.colors[p.color]},
// border-radius: ${p => p.radius && p.theme.radius[p.radius]},
}
}))
但是里面所有的注释都显示错误,说它不承认p。
(以前那些 p.theme 的东西,我找到了解决办法,有一个 theme.js 文件,我可以从那里导入所有 p.theme.spacing.sm,但我不明白什么是 p.padding 或p.maxWidth 是)
请帮助我理解这一点。
繁星coding
相关分类