Semantic-UI主题定制:聚焦输入框文字颜色修改问题
解决Semantic-UI聚焦输入框文字颜色定制问题
我明白你现在的困扰——首次定制Semantic-UI主题,其他颜色都顺利搞定了,唯独输入框聚焦状态下的文字颜色找不到对应的配置项对吧?其实这是默认主题的小设计点:它并没有单独暴露这个状态的全局变量,不过我们可以通过两种简单方式解决:
方式一:自定义全局变量(推荐,保持主题一致性)
这种方式能让你像管理其他主题颜色一样统一维护这个值,后续修改更方便:
- 先在你的
site.variables文件里新增自定义变量:
/******************************* User Global Variables *******************************/ /*------------------- Fonts --------------------*/ @fontName: 'Montserrat'; /*------------------- Base Sizes --------------------*/ /* This is the single variable that controls them all */ ... /* 新增:聚焦输入框文字颜色 */ @inputFocusTextColor: #2c3e50; /* 替换成你想要的颜色值 */
- 然后在
site.overrides文件中添加样式覆盖,引用刚才的变量:
.ui.input:focus > input, .ui.input.focus > input { color: @inputFocusTextColor; }
方式二:直接在site.overrides中写死颜色值
如果不需要全局变量统一管理,也可以直接写具体样式:
.ui.input:focus > input, .ui.input.focus > input { color: #2c3e50; /* 替换成你目标颜色 */ }
为什么默认找不到配置项?
Semantic-UI的默认主题设计中,输入框聚焦时的文字颜色默认继承了基础文本颜色(@textColor),没有单独抽离成可配置变量,所以需要我们手动添加覆盖样式。
修改完成后记得重新编译你的Semantic-UI主题(如果用Gulp/Webpack构建的话),刷新页面就能看到效果啦!
内容的提问来源于stack exchange,提问作者Raphael Valois




