React Semantic UI和自定义CSS类

时间:2017-11-06 03:04:18

标签: semantic-ui-react

我有一个项目,我正在利用语义 - 反应。该项目使用webpack构建,并启用了sassLoader。

我在React组件中有以下代码:

<Label className="test">
   sample text
</Label>

我在此组件加载的scss文件中有以下代码:

.test {
    color: red;
}

示例文本不显示为红色。我知道两种可能的解决方案 - 提高特异性或在CSS规则之后抛出important!。我想知道的是为什么这种情况正在发生。当我使用Semantic UI的原生版本时,为什么不会发生这种情况?

为了提供帮助,这是Chrome中检查员的屏幕截图:

enter image description here

2 个答案:

答案 0 :(得分:3)

我相信你几乎回答了你自己的问题,在 semantic.css 语义UI使用文件类组合 .ui.label 具有预定义颜色 rgb(0,0,0,.6) - 这些是React元素标签使用的类。

由于 .ui.label .test 更具体(2个班级与1个班级,这里有一个关于此的惊人信息图:http://www.standardista.com/css3/css-specificity/),第一类的颜色参数胜过第二个颜色参数。

我尝试使用Semantic UI并且没有React,并且发生了相同的结果。

.test {
   color: red;
}

<div class="ui label test">not a color red</div>

答案 1 :(得分:0)

当您具有语义UI来帮助设计组件样式,但是它使用可与“ className”样式竞争的类组合时,那是一个困难的情况,另一方面,您需要更大的灵活性并更改某些CSS,因此可以使用其他属性来赢得了班级组合,但这可能很麻烦,我宁愿自定义所有内容,因此我不必处理此类比赛。