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

如何在Next.js中通过内联样式正确设置自定义CSS变量

实现方案

React/Next.js 的内联style属性要求传入对象格式,你要的效果可以通过以下简洁写法直接实现,渲染结果和你期望的<section style="--mycolor:red">完全一致:

<section style={{ '--mycolor': color || 'var(--default-color)' }}>
{/* 子元素内容 */}
</section>

CSS自定义属性(--开头的变量)作为对象的字符串键即可被框架正常解析,后端传入的任意合法颜色格式(颜色名、十六进制、rgba、hsla等)都可以直接传入,所有子元素都可以正常调用--mycolor变量设置样式。


可复用样式对象构造方法

如果你想把样式抽离为单独的对象,直接按JS对象语法构造即可,注意组件属性名是style不是styles:

// 组件内构造样式对象
const myStyle = {
  '--mycolor': color || 'var(--default-color)',
  // 可按需追加其他内联样式
  padding: '20px',
  border: '1px solid #eee'
}

// 传入section组件
<section style={myStyle}>
{/* 子元素内容 */}
</section>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:51:03