Material-UI图标无法响应SCSS样式问题求助
解决Material-UI图标无法被SCSS样式控制的问题
1. 修复React属性名拼写错误
React中类名属性必须是驼峰式的**className,而非classname;点击事件属性是onClick**,而非onclick,这两个拼写错误会直接导致样式和事件绑定失败:
// 错误写法 <div classname="changer"> <MenuBookOutlined classname="menu"/> </div> <Close className = 'close' onclick ={showMenu}/> // 正确写法 <div className="changer"> <MenuBookOutlined className="menu"/> </div> <Close className='close' onClick={showMenu}/>
2. 修正SCSS选择器语法
你写的.closed.close是匹配同时拥有closed和close类的单个元素,但实际close类是子图标元素的类,closed是父div的类,需要用后代选择器(添加空格)来选中父容器下的图标:
// 错误写法 .closed.close{ display: none; } // 正确写法 .closed .close{ display: none; }
3. 提升样式优先级(可选)
如果修复后样式仍不生效,可能是Material-UI图标自带的SVG样式优先级更高,可通过更具体的选择器或临时用!important验证(不推荐长期依赖):
.changer .menu{ cursor: pointer; margin-right: 1rem; display: none !important; } .closed .close{ display: none !important; }
4. 检查样式导入顺序
确认Header.scss的导入顺序在Index.css之后,避免全局样式覆盖局部样式。也可以通过浏览器开发者工具(F12)查看元素的样式继承情况,确认是否有其他样式规则覆盖了当前设置。
内容的提问来源于stack exchange,提问作者Christian Bryant
相关产品推荐
相关产品推荐

