【发布时间】:2018-11-16 02:05:14
【问题描述】:
我正在尝试制作一个带有白色下划线的输入组件。目前,当用户将鼠标悬停在组件上时,下划线颜色变为黑色。我希望这是白色的。我相信这应该可以通过覆盖演示中的下划线类来实现,如下所述。不幸的是,它似乎不起作用,但如果我在浏览器中手动检查样式并删除以下行,它在浏览器中会按预期工作。
示例:https://stackblitz.com/edit/yjpf5s(查看:https://yjpf5s.stackblitz.io)
在浏览器中手动删除样式以获得所需的功能:
.MuiInput-underline-365:hover:not(.MuiInput-disabled-364):not(.MuiInput-focused-363):not(.MuiInput-error-366):before {
border-bottom: 2px solid rgba(0, 0, 0, 0.87);
我正在使用的覆盖类样式:
underline: {
color: palette.common.white,
borderBottom: palette.common.white,
'&:after': {
borderBottom: `2px solid ${palette.common.white}`,
},
'&:focused::after': {
borderBottom: `2px solid ${palette.common.white}`,
},
'&:error::after': {
borderBottom: `2px solid ${palette.common.white}`,
},
'&:before': {
borderBottom: `1px solid ${palette.common.white}`,
},
'&:hover:not($disabled):not($focused):not($error):before': {
borderBottom: `2px solid ${palette.common.white}`,
},
'&$disabled:before': {
borderBottom: `1px dotted ${palette.common.white}`,
},
},
编辑: 以下是最终奏效的解决方案:
'&:hover:not($disabled):not($focused):not($error):before': {
borderBottom: `2px solid ${palette.common.white} !important`,
},
【问题讨论】:
标签: css material-ui jss