搜尋

首頁  >  問答  >  主體

如何實現元素背景的隨機映射?

我想要隨機設定每個元素的背景顏色

但是當我將它插入以下程式碼中時,背景顏色變成了透明:

{
  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粉286046715473 天前543

全部回覆(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
  • 取消回覆