簡體   English   中英

使用 CSS 對 Material UI 組件進行樣式化

[英]Styling Material UI components using CSS

我有一個 Material UI 組件,我正在嘗試使用 CSS 自定義樣式。

以下是代碼:

<IconButton className="my-class">
    <Close />
</IconButton>

CSS:

.my-class {
  float: right;
  margin-left: auto;
  margin-right: 0;
}

但是我無法設置它的樣式,當我嘗試以下操作時,它起作用了:

<IconButton style={{ float: 'right', marginLeft: 'auto', marginRight: '0' }}> 
    <Close />
</IconButton>

為什么我無法使用常規 CSS 來設置 Material UI 組件的樣式?

大多數 CSS-in-JS 解決方案在 HTML <head>的底部注入它們的 styles,這使 MUI 優先於您的自定義 styles。您需要使用從@mui/material/styles導出的StyledEngineProviderinjectFirst選項,以便CSS 注入順序是正確的。 在這里解釋。

所以像這樣的東西應該起作用:

<StyledEngineProvider injectFirst>
    <IconButton className="my-class">
      <CloseIcon></CloseIcon>
    </IconButton>
</StyledEngineProvider>

您可以使用多種方式設置 MUI 組件的樣式,例如GlobalStyles APIsx樣式化甚至正常方式。

如果您要為 IconButton 等特定組件設置樣式,並且查看 API 的文檔,您可以找到該組件的 class 名稱。

這里有幾個參考。https://mui.com/customization/how-to-customize/#main-content

如何為 MUI TextField 提供條件樣式?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM