我尝试变暗可变数量的像的div 用下面的代码:
@mixin color-divs ($count, $baseName, $startcolor) {
$color: $startcolor;
@for $i from 0 through $count {
$color: darken($color, 9%);
##{$baseName}_#{$i} { background-color:$color; }
}
}
与该代码我期待,预期变量$颜色改变与每次迭代但这并没有工作。 该值拳头初始化后修复环节都具有相同的颜色。
有没有一种方法来workarround这个问题或有另一种方式解决与混合这个问题?
你可以在里面@for并使用$ i颜色变暗和相应的类适用于div的。 希望这可以帮助。
SCSS
@mixin color-divs ($count, $baseName, $startcolor) {
@for $i from 0 through $count {
$background-color: darken($startcolor, $i * $i);
.colored-div#{$i} {
background: $background-color;
height:100px;
width:200px;
float: left;
margin-right: 5px;
}
}
}
@include color-divs(5,'a',#ffd8b1);
HTML
<div class="colored-div1">a</div>
<div class="colored-div2">b</div>
<div class="colored-div3">c</div>
<div class="colored-div4">d</div>
<div class="colored-div5">e</div>
演示
见演示
我创建了一个基于你的mixin这个例子:
@mixin color-divs ($count, $baseName, $startcolor) {
$loop_color: $startcolor;
@for $i from 0 through $count {
$loop_color: darken($loop_color, 9%);
.#{$baseName}-#{$i} { background-color: $loop_color; }
}
}
div {
width: 100px;
height: 100px;
float: left;
}
@include color-divs(6,'div',#faa)
使用以下标记:
<div class="div-1"></div>
<div class="div-2"></div>
<div class="div-3"></div>
<div class="div-4"></div>
<div class="div-5"></div>
<div class="div-6"></div>
输出: http://jsfiddle.net/jdtvF/
http://uk.omg.li/P0dF/by%20default%202013-05-16%20at%2010.10.43.png
div {
width: 100px;
height: 100px;
float: left; }
.div-0 {
background-color: #ff7c7c; }
.div-1 {
background-color: #ff4e4e; }
.div-2 {
background-color: #ff2020; }
.div-3 {
background-color: #f10000; }
.div-4 {
background-color: #c30000; }
.div-5 {
background-color: #960000; }
.div-6 {
background-color: #680000; }
只是从一种颜色到另一种,对于比如说,大量的连续<div>
@for $i from 0 through 11
&:nth-child(#{$i})
transform: rotate(#{30*$i}deg)
background-color: mix($gray1, $gray2, $i / 12 * 100% )
笔记
- 请注意,你不需要任何
#{…}
里面mix()
因为它是一个SASS功能,所以很显然,使用内部的变量和计算是把它变成CSS之前得到解决。 - 变换只是我的使用情况下(示范)。 在这里,人们确实需要
#{…}
- 并注意
+/-1 issue
(如在每一个for循环,任何语言):去从0/12至11/12 - 最后,把它变成一个百分比来取悦混合功能
- 正如你看到的:可以在一个mixin来完成,但没有要!