【发布时间】:2017-05-18 09:21:25
【问题描述】:
我有k个班级tab_title的孩子,我想逐渐将他们的背景从color1画到color2。
例如: 如果 k=3, color1=red(#FF0000), color2=yellow(#FFFF00) 那么第一个元素的背景是红色(#FF0000),第二个是橙色(#FF8000),第三个是黄色(# FFFF00); k=5,color1=white,color2=black,那么第一个是白色,第二个是gray25%,第三个是gary50%,第四个是gary75%,第五个是黑色。
我希望它适用于任何k,而无需明确指定每个nth-child() 的音调。纯粹用css或sass做这件事的任何方式?由于可以添加或删除类,因此我宁愿不涉及任何 JS 代码。
我正在使用以下代码:
@mixin gradbg($n, $c1, $c2){
@for $i from 1 through $n {
&:nth-child(#{$i}) {
background-color: mix($c1,$c2,((1 - (($i - 1) / ($n - 1)))*100%));
}
}
}
然后
li.tab_title{
$from: #097380;
$to: #4da759;
@include gradbg(3,$from,$to);
}
唯一缺少的就是自动计数k,所以我可以使用gradbg(k,$from,$to) 而不是gradbg(3,$from,$to)
非常感谢,
男人
【问题讨论】:
标签: html css sass compass-sass