搜索

首页  >  问答  >  正文

如何实现元素背景的随机映射?

我想要随机设置每个元素的背景颜色

但是当我将它插入以下代码中时,背景颜色变成了透明:

{
  modules.map((module, index) => (
    <div className='carousel-module shadow'
      style={{ background: "#" + Math.floor(Math.random()*16777215).toString(16)}}
    >
      <p className='module-element-text'>{module.name ? module.name : "N/A"}</p>
      <p className='module-element-text'>{module.code ? module.code : "N/A"}</p>
      <Button onClick={() => setShow(false)}
          variant="success" className='modules-list-button'>
          Load
      </Button>
    </div>
  ))
}

很高兴听到您对如何使其工作的建议。

P粉286046715P粉286046715444 天前507

全部回复(1)我来回复

  • P粉190883225

    P粉1908832252023-09-12 12:13:37

    这是我用来生成十六进制颜色的函数。你的方法可能会在颜色中引入Alpha通道,从而使其变得透明。

    function randomHexColor() {
        let toHex = function (n) {
            let hex = n.toString(16);
            while (hex.length < 2) { hex = '0' + hex; }
            return hex;
        };
        let rr = toHex(Math.floor(Math.random() * 256));
        let gg = toHex(Math.floor(Math.random() * 256));
        let bb = toHex(Math.floor(Math.random() * 256));
        return '#' + rr + gg + bb;
    }

    回复
    0
  • 取消回复