When an arbitrary value needs to contain a space, use an underscore (_) instead and Tailwind will automatically convert it to a space at build-time:
<div class="grid grid-cols-[1fr_500px_2fr]">
<!-- ... -->
</div>In situations where underscores are common but spaces are invalid, Tailwind will preserve the underscore instead of converting it to a space, for example in URLs:
<div class="bg-[url('/what_a_rush.png')]">
<!-- ... -->
</div>In the rare case that you actually need to use an underscore but it's ambiguous because a space is valid as well, escape the underscore with a backslash (\) and Tailwind won't convert it to a space:
<div class="before:content-['hello\_world']">
<!-- ... -->
</div>If you're using something like JSX where the backslash is stripped from the rendered HTML, use String.raw()↗ so the backslash isn't treated as a JavaScript escape character:
<div className={String.raw`before:content-['hello\_world']`}>
{/* ... */}
</div>From the Tailwind CSS↗ docs.