为什么自定义 css 类不适用于 React-Semantic-UI 元素?

IT技术 javascript css reactjs semantic-ui semantic-ui-react
2021-05-05 22:06:55

我用 react-semantic-ui 创建了卡片,我想通过 css 类添加一些额外的样式。

一个例子是

我添加了带有 box-shadow 属性的自定义“卡片”类,但未应用该样式。

          HTML PART:

import './App.css';


          {/* CLAIM CARDS SECTION */}

                  <Card className='card'>
                    <Card.Content>
                      <Card.Header style={{display: 'flex', justifyContent: 'space-between', alignItems: 'center'}}>       
                        <h4>
                          Church Mutual Worker's Compensation Claim 
                          <span style={{marginLeft: '130px'}}>Claim #1234567</span>
                        </h4>
                      </Card.Header>
                    </Card.Content>
                  </Card>

CSS 代码部分:App.css

 .header-height {
      height: 12rem;
    }

    .header-title-color {
      color: black;
      font-weight: bold;
    }

    .card {
      box-shadow: 2px 2px 2px 2px grey;
      width: 100%;
    }

    .red {
      color: red;
    }

有人有解决方案如何将自定义 css 类添加到 React-semantic-ui 组件吗?

谢谢

2个回答

为您的 className 指定一个更具体的名称,例如 claim_Card。之后,在您的 css 中,您需要通过将您的 className 添加到该组件的现有语义的 css 来覆盖 sematic 的默认 css。在你的情况下,它会是这样的

.ui.card.claim_Card {
  background: #455332; //for example
}

这将使您的 css 规则更加具体,并将覆盖默认语义 css。无论如何,请检查您的浏览器检查器将哪个 css 类应用于您想要设置样式的元素并使用该 className(在本例中为 .ui.card)并在其上添加您的 className 定义和规则。

由于classis 是 JavaScript 中的关键字,因此您应该在 React 中使用className而不是class

<Card className='card'>