Sass颜色函数列表渐变

时间:2012-04-26 03:10:07

标签: css colors haml sass

我正在尝试为列表中的每个background-color标记分配不同的%li。我希望这些颜色要么使用颜色的阴影,要么使用两种颜色之间的渐变。就像那么受欢迎的Clear。我熟悉用sass来减轻和变暗颜色的能力......

$this_color: darken($that_color, 10%)

但除此之外,我不知道如何创造我正在寻找的影响。在视觉上这就是我想要做的事情:

%ul
    %li full color
    %li darken 5%
    %li darken 10%
    ...

2 个答案:

答案 0 :(得分:2)

这是一种方法 在循环中逐个改变颜色
http://jsfiddle.net/STuD5/1/

答案 1 :(得分:2)

// set your color
$backgroundColor: red

// set the scale/increment for the function
$backgroundColorScale: 8

// number of items in your list
$numberOfItemsInList: 10

// here's a custom function to change the color
// but you could make this fairly advanced
// and shift color, saturate, etc.
@function -modify-bg($bgcolor, $counter, $depth: $backgroundColorScale)
  @return lighten($backgroundColor, ($i * $backgroundColorScale))

// here's the loop that steps through LIs and assigns each a new bg
$i: 0
@while $i < $numberOfItemsInList
  li:nth-child(#{$i})
    background-color: -modify-bg($backgroundColor, $i)
  $i: $i + 1