如果团队没有制定合适的 CSS 规范(例如 BEM, 不直接使用标签选择器, 减少选择器嵌套等等), 代码很快就会失控
解决的方向: 之前文章提到组件是一个内聚单元, 样式应该是和组件绑定的....常量共享
常规的 CSS 很难做到在样式和 JS 之间共享变量, 例如自定义主题色, 通常通过内联样式来部分实现这种需求
解决的方向: CSS-in-js
6️⃣ CSS 解析方式的不确定性
CSS 规则的加载顺序是很重要的...'red' : 'gray')};
`;
// 固定或计算组件props
const Input = styled.input.attrs({
type: 'text',
size: props...important;
}
// 支持媒体查询
@media (max-width: 600px) {
background: tomato;
// 嵌套规则
&:...:
颜色系统: 调色盘配置
image.png
尺寸系统: 多个级别的间距, 尺寸大小配置
配置开关: 全局性的配置开关, 例如是否支持圆角, 阴影
链接样式配置: 如颜色, 激活状态, decoration