我有有多個值以下SASS地圖:如何使用SASS映射多個值與每個功能的混入內部
$map: (key: (value1, value2));
使用標準,如下面的每個功能正常工作:
@each $key, $value1, $value2 in $map {
// Do whatever here
}
但是,如果我嘗試使用相同的排序各功能的傳遞混入地圖中混入內部,各功能不與下面的工作:
@mixin my-mixin($map) {
@each $key, $value1, $value2 in $map {
// Do whatever here
}
}
如何使用mixin中的每個函數以及每個鍵具有多個值的地圖?
你可以看到我正在試圖做的下面,我試圖做一個mixin,它使用模塊化的規模輸出一個屬性。有使用了兩個模塊秤,一個默認爲小屏幕(移動第一)和一個較大的一個較大的屏幕:
// Output responsive modular properties
@mixin rms-value($properties) {
@each $property-name, $property-ms, $property-ms2 in $properties {
$rem-value: ms($property-ms);
$px-value: rem-to-pixels($rem-value);
#{$property-name}: $px-value;
#{$property-name}: $rem-value;
}
// Secondary modular scale used for larger screens
@include breakpoint($breakpoint-medium) {
@each $property-name, $property-ms2 in $properties {
$rem-value: ms($property-ms2, 1rem, $ms-ratio-large);
$px-value: rem-to-pixels($rem-value);
#{$property-name}: $px-value;
#{$property-name}: $rem-value;
}
}
}
這可以隨後被用於輸出一個邊距和填充頂例如:
$properties: (
padding-top: (1, 2),
margin-bottom: (2, 3),
);
p {
@include rms-value($properties);
}
這是工作的罰款,我只用一個單一的值在每張地圖鍵
您正在嘗試在mixin中包含mixin。你還想添加斷點mixin嗎?我想你可能想在mixin中設置一個無效的mixin,而不是包含它。 – 2014-09-26 13:39:56
斷點mixin使用:https://github.com/at-import/breakpoint這整個事情工作正常,當我只有一個值每個地圖的關鍵所以我沒有看到一個mixin的問題mixin – user1280853 2014-09-26 13:41:58
你需要提供最少量的代碼,這些代碼將按預期編譯(變量,混合函數,函數等)。如果斷點mixin與問題無關,那麼它不應該成爲示例代碼的一部分。 – cimmanon 2014-09-26 14:41:31