实现一个文字颜色随机,字体大小成正态分布,整体呈菱形的排列的标签列表;
如何实现一个如下图随机排布的标签列表(vue语法):
dome示例: http://39.106.166.212/tag
首先假设我们可以拿到一个标签列表的数组,这里将一步步实现如图效果:
1、创建tag组件,编写 随机颜色方法 和 大小成正态分布的方法 实现颜色和大小随机的文字标签;
(1)编写随机颜色方法$RandomColor
通过随机生成一个有效范围内的rgb值即可实现;
/*随机颜色rgb*/
const $RandomColor = function(){
var r=Math.floor(Math.random()*256);
var g=Math.floor(Math.random()*256);
var b=Math.floor(Math.random()*256);
return "rgb("+r+','+g+','+b+")";
}
复制代码
为了防止与背景颜色重合也可hsl模式生成,降低明度防止与背景重合;
/*随机颜色hsl*/
const