问个简单的在前端设置颜色的问题

2020-04-15 15:54:29 +08:00
 hello2060

网页上有很多链接,每一个都要设置一个不同的颜色。 链接数量不限(或者说起码 100 个吧),请问在 js 里面怎么选择 /设置颜色,有没有办法预先定义或者产生一个颜色数组,关键是颜色要合适(比如说黄色这种作为链接的颜色看起来就不太好)。是不是就是 rgb 各字段各设个 step, 有啥现成的比较好的方法吗?谢谢

2332 次点击
所在节点    JavaScript
11 条回复
ynohoahc
2020-04-15 15:56:32 +08:00
不懂 直接用 UI 库里的 color-picker 组件不行嘛?
theArrowOfCupid
2020-04-15 16:15:31 +08:00
你参考一下各类新闻网站,所有的链接,都是同一个颜色,你要求的一个链接一个颜色实现后会很丑的,不建议这么做。
baxtergu
2020-04-15 16:22:09 +08:00
你的需求是不是找一个能够提供 api 来操作生成颜色字符串的库,这个库可以 https://github.com/bgrins/TinyColor
但是需要一点颜色变换的理论基础才能生成比较好看的色板
hello2060
2020-04-15 16:57:29 +08:00
@baxtergu 谢谢,我其实就是想要一段代码,能生成 100 种颜色
hello2060
2020-04-15 16:59:22 +08:00
@theArrowOfCupid 谢谢,我是不是链接,是文字标签。也可以设成背景色。
具体是这样的,我有两个数组,每个元素可能和另一个数组里的一个或者多个元素有关系,我想把这个关系用颜色高亮显示出来。
fescover
2020-04-15 17:23:55 +08:00
高亮用反色就行了,比如文字颜色是#f23333,那背景颜色就取反 #(15-f)(15-2)(15-3)(15-3)(15-3)(15-3) 即#0DCCCC
f056917
2020-04-15 17:47:58 +08:00
用 Math 计算 0-255 的随机数,最终组成 rgb 颜色
g00001
2020-04-15 17:57:26 +08:00
批量生成颜色,最好是使用 hsb 来生成,
不然随机生成白色、浅灰色这些作为链接颜色就看不清楚了。

我用 aardio 写了一段代码批量生成的效果:


其中 FF58C734 是模板色。
RRRSSS
2020-04-15 18:42:37 +08:00
只是想要颜色的话,几乎每个前端组件库都有主题,他们有设计好的颜色。比如 https://material.io/design/color/the-color-system.html#tools-for-picking-colors

但是你的需求,做出来应该会很难看。
loading
2020-04-15 19:05:57 +08:00
@g00001 hsb 技巧 get!
已感谢
theArrowOfCupid
2020-04-15 19:11:58 +08:00
@hello2060 http://tool.c7sky.com/webcolor/ 从这个网站里选一些你喜欢的颜色,将其保存成数组,用 js 动态修改其背景色。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/662694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX