You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS中如何在内联样式中使用变量或--i:0自定义属性?

解决React中给每个Card设置独立CSS自定义变量的问题

你的代码问题出在直接修改根元素的全局CSS变量,而且循环里写死了固定值,导致所有Card最终都继承了最后一次设置的变量值。要实现每个Card拥有独立的--i自定义属性,只需直接给每个元素的style属性绑定对应值即可,无需操作根元素。

修正后的代码

import './project.css';

const numbers = [-1, 0, 1];

const Project = () => {
  return (
    <div className="container">
      {numbers.map((num) => (
        <div key={num} className="card" style={{ '--i': num }}></div>
      ))}
    </div>
  );
};

export default Project;

关键说明

  • 移除了冗余的<html>/<head>/<body>标签:React组件仅需返回需要渲染的页面内容片段,完整的HTML结构应放在项目的public/index.html中(常规React项目)。
  • 直接在Card元素的style属性中定义--i变量:通过style={{ '--i': num }},每个循环生成的Card都会拥有独立的--i值,和你提供的HTML示例效果完全一致。
  • 无需操作根元素样式:你的需求是给每个元素单独设置变量,而非全局统一变量,所以不需要document.querySelector(':root')这部分代码。

内容的提问来源于stack exchange,提问作者Paarth Kadakia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:50:55