覆寫樣式

覆寫預設元件樣式非常簡單,只需將您自己的類別名稱傳遞給 className,或者對於具有插槽的元件,傳遞給 classNames 屬性即可。

什麼是插槽?

插槽是元件中可以單獨設定樣式的一部分。例如,CircularProgress 元件有多個可以單獨設定樣式的插槽/部分,例如 trackindicatorvalue 等。

具有插槽的元件具有 classNames 屬性,可讓您單獨設定每個插槽的樣式。

覆寫元件

讓我們覆寫 Button 元件的預設樣式,這是一個沒有插槽的元件。

具有插槽的元件

一些 NextUI 元件具有插槽,這表示您可以使用 classNames 屬性設定元件內所有部分的樣式。例如,CircularProgress 元件具有以下插槽

  • base:圓形進度條的基本插槽,它是主要容器。
  • svgWrapper:svg 圓形和值標籤的包裝器。
  • svg:圓形的 svg 元素。
  • track:軌跡是圓形進度條的背景圓形。
  • indicator:指示器是根據 value 填充的那個。
  • value:值內容。
  • label:標籤內容。

可以使用 classNames 屬性設定每個插槽的樣式,下面的範例顯示如何變更一些插槽的樣式,以建立具有不同樣式的圓形進度條。

注意:您可以在每個具有插槽的元件的文件中找到「Slots」部分。

CSS 模組

CSS 模組允許建立本機範圍的類別和變數。以下說明如何使用它來覆寫樣式

使用相應的 CSS 模組

CSS-in-JS

如果您使用 CSS-in-JS 程式庫,例如 styled-componentsemotion,您可以使用以下範例來覆寫元件的樣式

在這個範例中,StyledCardStyledCardBodyStyledCircularProgress 元件結合了原始元件的樣式以及在樣板字串中定義的自訂樣式。.attrs 方法用於將 classNames prop 新增到 StyledCircularProgress 元件。