SASS @each 语句中的多个变量
Multiple variables in SASS @each statement
我正在尝试将几个参数传递到 SASS 语句中以最终创建行的变体,但我并没有完全正确地获取映射键。
我的目标是获取 RowName、RowBGColor 和 RowText Color,同时将一些设置传递到我在 SASS 的其他地方使用的附加混入中。
@mixin sectionH1 ($color) {
font-size: 60px;
text-transform: uppercase;
color: $color;
margin: 0 0 0 0;
&:after {
content: "";
display: block;
margin: 0 auto;
width: 30%;
border-bottom: 3px dotted;
}
}
$primary-names:(#ccc, #000, #fff, #ccc);
//$primary-names:(Red, Black, Grey, White);
$primary-bgColors: (#8f1324, #000, #999, #fff);
$primary-txtColors: ( #fff, #fff, #000, #000);
//@for $i from 1 through length($primary-bgColors){
@each $name, $bgColor, $txtColor in $primary-names, $primary-bgColors,
$primary-txtColors {
.titleRow#{$name} {
text-align: center;
height: auto;
overflow: hidden;
//background-color: nth($color in $primary-bgColors, $i);
background-color: $bgColor;
.content {
bottom: 0;
width: 100%;
color: $txtColor;
padding: 0 30px 25px;
h1 {
@include sectionH1 ($txtColor);
font-size: 60px;
}
.subtitle {
line-height: 30px;
padding: 15px 0 0 0;
}
}
.fa {
font-size: 30px;
color: #fff;
left: 50%;
margin: 18px 0 0 0;
}
}
}
//}
解决了,我的直觉告诉我有更有效的方法,但这里是。
$rowTypes: (red #8f1324 #fff) (black #8f1324 #fff) (grey #ccc #000) (white #fff #000);
@each $row in $rowTypes {
$names: nth($row, 1);
$bgColor: nth($row, 2);
$txtColor: nth($row, 3);
.titleRow#{$names} {
text-align: center;
height: auto;
overflow: hidden;
background-color: $bgColor;
.content {
bottom: 0;
width: 100%;
color: $txtColor;
padding: 0 30px 25px;
h1 {
@include sectionH1 ($txtColor);
font-size: 60px;
}
.subtitle {
line-height: 30px;
padding: 15px 0 0 0;
}
}
.fa {
font-size: 30px;
color: #fff;
left: 50%;
margin: 18px 0 0 0;
}
}
}
我正在尝试将几个参数传递到 SASS 语句中以最终创建行的变体,但我并没有完全正确地获取映射键。
我的目标是获取 RowName、RowBGColor 和 RowText Color,同时将一些设置传递到我在 SASS 的其他地方使用的附加混入中。
@mixin sectionH1 ($color) {
font-size: 60px;
text-transform: uppercase;
color: $color;
margin: 0 0 0 0;
&:after {
content: "";
display: block;
margin: 0 auto;
width: 30%;
border-bottom: 3px dotted;
}
}
$primary-names:(#ccc, #000, #fff, #ccc);
//$primary-names:(Red, Black, Grey, White);
$primary-bgColors: (#8f1324, #000, #999, #fff);
$primary-txtColors: ( #fff, #fff, #000, #000);
//@for $i from 1 through length($primary-bgColors){
@each $name, $bgColor, $txtColor in $primary-names, $primary-bgColors,
$primary-txtColors {
.titleRow#{$name} {
text-align: center;
height: auto;
overflow: hidden;
//background-color: nth($color in $primary-bgColors, $i);
background-color: $bgColor;
.content {
bottom: 0;
width: 100%;
color: $txtColor;
padding: 0 30px 25px;
h1 {
@include sectionH1 ($txtColor);
font-size: 60px;
}
.subtitle {
line-height: 30px;
padding: 15px 0 0 0;
}
}
.fa {
font-size: 30px;
color: #fff;
left: 50%;
margin: 18px 0 0 0;
}
}
}
//}
解决了,我的直觉告诉我有更有效的方法,但这里是。
$rowTypes: (red #8f1324 #fff) (black #8f1324 #fff) (grey #ccc #000) (white #fff #000);
@each $row in $rowTypes {
$names: nth($row, 1);
$bgColor: nth($row, 2);
$txtColor: nth($row, 3);
.titleRow#{$names} {
text-align: center;
height: auto;
overflow: hidden;
background-color: $bgColor;
.content {
bottom: 0;
width: 100%;
color: $txtColor;
padding: 0 30px 25px;
h1 {
@include sectionH1 ($txtColor);
font-size: 60px;
}
.subtitle {
line-height: 30px;
padding: 15px 0 0 0;
}
}
.fa {
font-size: 30px;
color: #fff;
left: 50%;
margin: 18px 0 0 0;
}
}
}