Mixin 是 CSS 預處理器提供的工具,雖然它們不是可以被理解的函數,但它們的主要用途是重複使用程式碼。
不只一次,我們需要建立多個類別來執行相同的操作,但更改單一值,例如字體大小的多個類別。
.fs-10 { font-size: 10px; } .fs-20 { font-size: 20px; } .fs-30 { font-size: 30px; }
如果我們仔細觀察,在這種情況下唯一改變的是用於命名類別和設定字體大小值的數字,使用 mixin 我們可以建立一個自動為我們建立此程式碼的函數。
範例:
// Esto es un mapa, lo que conocemos como un objeto en JavaScript $sizes: ( "10": "10px", "20": "20px", "30": "30px" ) // El mixin que crea las clases @mixin generate-font-sizes($sizes) { // Recorremos cada uno de los elementos del mapa @each $key, $value in $sizes{ // Creamos la clase e interpolamos los valores .fs-#{$key} { font-size: #{$value}; } } } // Invocamos al mixin para que se ejecute @include generate-font-sizes($sizes);
當我們編譯程式碼時,我們將得到與第一次相同的結果,但現在您可能會認為我們的程式碼比結果長,也許這是真的,但如果我想要,例如,從1 到100 並建立從fs-1 到fs-100 的類別我也可以使用mixin 來實作
// El mixin que crea las clases @mixin generate-font-sizes() { // El loop que hace el recorrido de 1 a 100 @for $size from 1 through 100 { // Creamos la clase e interpolamos los valores .fs-#{$size} { font-size: #{$size}px; } } } // Invocamos al mixin para que se ejecute @include generate-font-sizes();
這樣我們就會得到預期的結果,這不僅適用於字體大小,而且適用於任何想到的東西,我們可以在 mixin 中使用小程式碼區塊建立大量程式碼。
這就是現在的全部內容,我們學習如何在預處理器中使用 mixin 和重複使用 CSS 程式碼。
以上是SASS 中的 Mixin的詳細內容。更多資訊請關注PHP中文網其他相關文章!