Ram*_*uis 17 javascript reactjs tailwind-css
我正在尝试制作一个反应组件来更改参数的宽度,但它不起作用,我不知道为什么。
function Bar() {
const p =80
const style = `bg-slate-500 h-8 w-[${p.toFixed(1)}%]`
console.log(style)
return (
<div className=' h-8 w-full'>
<div className={`bg-slate-500 h-8 w-[${p}%]`}>
</div>
</div>
)
}
export default Bar
Run Code Online (Sandbox Code Playgroud)
通过这段代码,我得到了一个全尺寸的条,但如果我使用 80.0 的严格字符串,它就可以正常工作
wiz*_*003 25
其他答案都是错误的。Tailwind V3 包含 JIT,您不再需要将模式设置为 jit。即使在 Tailwind V2 中,发布的代码也无法工作。
按照文档,您必须避免字符串插值并使用完整的类名。
这是错误的:
<div class="text-{{ error ? 'red' : 'green' }}-600"></div>
Run Code Online (Sandbox Code Playgroud)
相反,使用完整的类名:
<div class="{{ error ? 'text-red-600' : 'text-green-600' }}"></div>
Run Code Online (Sandbox Code Playgroud)
使用内联样式怎么样?
您可能想使用内联样式,但请记住,内容安全策略越来越受到严格审查,以禁止不安全的内联。任何内联style
或script
理论上都可能注入非预期的内容。此外,Tailwind 的重点是在构建时生成 CSS,因此您需要解决它,并且在本例中甚至可能不使用它。
小智 18
我和你有完全相同的问题。
const p =80
<div className={`bg-slate-500 h-8 w-[${p}%]`}>
Run Code Online (Sandbox Code Playgroud)
上面的代码在服务器端动态设置“w-[${p}%]”为“w-80%”。然而,Tailwind 无法处理动态计算的任意值。
Tailwind官方文档说;
为了解决这个问题,我们需要使用style
如下所示的属性,在该属性中我们无法再使用 TailwindCSS;
<div
style={{width: `${p}%`}}
className={`bg-slate-500 h-8`}>
Run Code Online (Sandbox Code Playgroud)
我希望它对你有很大帮助。