覆寫樣式
覆寫預設元件樣式非常簡單,只需將您自己的類別名稱傳遞給 className
,或者對於具有插槽的元件,傳遞給 classNames
屬性即可。
什麼是插槽?
插槽是元件中可以單獨設定樣式的一部分。例如,CircularProgress 元件有多個可以單獨設定樣式的插槽/部分,例如 track
、 indicator
、value
等。
具有插槽的元件具有 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-components 或 emotion,您可以使用以下範例來覆寫元件的樣式
在這個範例中,StyledCard
、StyledCardBody
和 StyledCircularProgress
元件結合了原始元件的樣式以及在樣板字串中定義的自訂樣式。.attrs
方法用於將 classNames prop 新增到 StyledCircularProgress 元件。