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

React内联样式中数值型CSS规则值是否需要添加引号?

React内联样式:带单位的值必须加引号吗?

一句话结论

带单位的样式值(比如50%、12px)必须用引号包成字符串;纯数字且默认单位是px的(比如200、1.5)可以直接写数值,React会自动补全px单位。

实际写法示例

正确写法

// 带%单位,必须用字符串形式
<div style={{ width: '50%' }}>正确示例</div>

// 纯数字,React自动补px,等价于width: '200px'
<div style={{ width: 200, lineHeight: 1.5 }}>正确示例</div>

错误写法(会触发语法报错)

// 50%在JS中不是合法数值,直接写会报错
<div style={{ width: 50% }}>错误示例</div>

背后的原因

React的内联样式本质是一个JavaScript对象,对象的属性值必须是合法的JS数据类型。50%这种带单位的写法在JS里既不是数字,也不是合法表达式,只有把它转为字符串'50%',才能符合JS对象的取值规则,让React正确解析。

而纯数字的情况,React内部做了适配处理,会自动给这类值加上默认的px单位,所以直接写数值即可。

内容的提问来源于stack exchange,提问作者Nora McDougall-Collins

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:11:59