|
|
请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 马黑黑 于 2023-5-27 11:45 编辑
本文通过在 css-doodle 图案中用 rgb(红,绿,蓝) 颜色表达体系来完成单元格的背景颜色设置,展示 @multiple() 函数的强大功能。
@multiple() 函数用来重复指定的值,需要两个参数:① 重复次数,② 重复的值。@multiple 可以缩写为 @m 或 @M,例如,我们要重复三次“我”,我们可以给单元格伪元素这么赋值:
:after {
content: @m(3,'我'); /* 输出:我,我,我 */
/* content: @M(3,'我'); 输出:我 我 我 */
}
小写 @m 输出的结果,重复值之间有小角逗号,大写 @M 则用空格取代小角逗号。
@multiple() 函数还可以进一步缩写:
@m3('我')
@M3('我')
这种缩写方式,是将重复次数直接跟在了 @m 或 @M 之后,使得语句更为简洁。
CSS 的 rgb() 颜色表达法,红绿蓝三种颜色数值从 0 到 255 之间,数值之间需要小角逗号隔开,故此使用 @m() 很合适。当然,我们首先需要取得 0-255 之间的随机数。
我们要取得从 0 到 255 之间的含头尾数的随机值,用 @r() 函数:
@r(255)
这个随机值要重复三次,数值之间用逗号隔开,用 @m() 将之包裹起来:
@m3(@r(255))
将上述式子用到 rgb() 颜色表达法语句里:
rgb(@m3(@r(255)))
用到单元格的背景颜色属性设置:
background: rgb(@m3(@r(255)));
很多场景,我们需要设置渐变背景,以 linear-gradient() 线性渐变为例,加入我们需要设计20种颜色,在 css-doodle 里,一切都很简单:重复上面的 rgb(@m3(@r(255))) 语句 20 次即可——
background: linear-gradient(@m20(rgb(@m3(@r(255)))));
最后,给出一组实现题意的实例代码。若你能运行它,每次单击单元格的背景颜色都会不同:
<css-doodle click-to-update>
:doodle {
@grid: 1 / 400px;
}
background: linear-gradient(@m20(rgb(@m3(@r(255)))));
</css-doodle>
|
评分
-
| 参与人数 4 | 威望 +150 |
金钱 +300 |
经验 +150 |
收起
理由
|
南无月
| + 20 |
+ 40 |
+ 20 |
赞一个! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
小辣椒
| + 50 |
+ 100 |
+ 50 |
很给力! |
醉美水芙蓉
| + 30 |
+ 60 |
+ 30 |
赞一个! |
查看全部评分
|