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

Tailwind CSS v4的space-x/y-*类在移动端Safari失效求助

Tailwind CSS v4中space-x/space-y在移动端Safari失效的原因及修复方案

问题原因

Tailwind CSS v4的浏览器端CDN包(@tailwindcss/browser)对space-*类的实现依赖了部分移动端Safari(尤其是旧版本iOS Safari)不支持的CSS特性或脚本执行逻辑,导致移动端无法正确生成间距样式;而桌面端Safari因版本更新已支持相关特性,所以显示正常。

修复方案

方案1:改用gap类替代space-*类

Flex布局原生支持gap属性,且在移动端Safari兼容性更稳定,直接替换即可达到相同效果:

<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>

<div class="flex gap-x-4 py-20 justify-center">
  <div class="w-10 bg-red-500">01</div>
  <div class="w-10 bg-fuchsia-400">02</div>
  <div class="w-10 bg-green-400">03</div>
</div>

方案2:切换到本地构建方式(推荐生产环境)

放弃CDN的浏览器端编译,改用PostCSS或框架集成的方式构建Tailwind CSS,生成兼容低版本浏览器的CSS代码,避免CDN包的兼容性问题:

  • 安装Tailwind CSS v4及相关依赖
  • 配置tailwind.config.js
  • 通过PostCSS编译生成最终CSS文件并引入

方案3:手动补全间距样式

如果需要保留space-*类,可通过自定义CSS补全移动端Safari的样式:

<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
<style>
  @media (max-width: 768px) {
    .space-x-4 > * + * {
      margin-left: 1rem; /* 对应space-x-4的间距值 */
    }
  }
</style>

<div class="flex space-x-4 py-20 justify-center">
  <div class="w-10 bg-red-500">01</div>
  <div class="w-10 bg-fuchsia-400">02</div>
  <div class="w-10 bg-green-400">03</div>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:58:16