WindiCSS v2.2 现已推出

这是一个小版本更新,更新了从 v2.1 到 v2.2 的改进和添加的特性。

特性

  • 新插件 scroll-snap

  • 使用 CLI 时支持配置文件

  • 支持排除配置

    当你希望使用与 tailwind 相同的严格模式或希望排除一个工具类时,该特性非常有用。

    // tailwind.config.js
    const { twExclude } = require('windicss/config')
    
    module.exports = {
      theme: {
        // ...
      },
      exclude: [
        ...twEclude,
        /^first-letter:/, // 禁用 first-letter 可变修饰
      ],
    }
    

    使用上面的配置,如 bg-hex-1c1c1e p-4.2 m-3.33px 这些工具类将不会被编译成 css。你可以通过使用正则表达式来排除任何不想使用的工具类。

  • 支持 important 工具类

    现在我们支持使用 ! 来标记 important 样式。

    <div class="!text-green-300 !hover:(p-4 bg-red-500)">
      ...
    </div>
    

    将被编译成

    .\!text-green-300 {
      --tw-text-opacity: 1 !important;
      color: rgba(110, 231, 183, var(--tw-text-opacity)) !important;
    }
    .\!hover\:p-4:hover {
      padding: 1rem !important;
    }
    .\!hover\:bg-red-500:hover {
      --tw-bg-opacity: 1 !important;
      background-color: rgba(239, 68, 68, var(--tw-bg-opacity)) !important;
    }
    
  • 支持 shortcuts 配置

    我们还添加了一个 shortcuts 配置,以帮助你快速添加工具类。使用该特性,甚至可以共享内联组件。

    // tailwind.config.js
    module.exports = {
      theme: {
        // ...
      },
      shortcuts: {
        'btn': 'py-2 px-4 font-semibold rounded-lg shadow-md',
        'btn-green': 'text-white bg-green-500 hover:bg-green-700',
      },
    }
    

    复杂的工具类也同样支持 css-in-js 语法

    // tailwind.config.js
    module.exports = {
      theme: {
        // ...
      },
      shortcuts: {
        'btn': {
          'color': 'white',
          '@apply': 'py-2 px-4 font-semibold rounded-lg',
          '&:hover': {
            '@apply': 'bg-green-700',
            'color': 'black',
          },
        },
        'btn-green': 'text-white bg-green-500 hover:bg-green-700',
      },
    }
    

    通过此配置项添加的工具类,同样可以直接用可变修饰进行包装,比如 sm:btn。这个特性的功能与 @apply 指令很类似,它将把所有的工具类合并为一个样式。

  • 在自定义屏幕定义中添加对 raw 和 min/max 的支持

  • 添加 handleIgnored 选项

  • 添加 resolveStaticUtilitiesresolveDynamicUtilities 接口

  • 为浏览器支持更改 Processor(path) -> Processor(require(resolve(path)))

Bug 修复

  • 修复丢失的占位符预检样式
  • 修复占位符伪元素上设置显式不透明度的问题
  • 修复添加 boxShadow 基础样式
  • 修复 ring 工具类
  • 修复使用数组添加 fontFamily
  • 修复通过 addUtilities 或 addComponents 添加的无 class 样式消失问题
  • 修复缺少纵横比伪类
  • 修复缺少 --tw-ring-opacity
  • 修复图片基础样式建议遵循 Tailwind
  • 修复长颜色名称无效
  • 修复插件配置扩展无效
  • 修复 keyframes 不应该被可变修饰包装
  • 修复 container 不应该分开
  • 修复 keyframes 应该在 animation 之前渲染
  • 修复 leading 应该在 text 之后渲染
  • 修复深层嵌套颜色
  • 修复 CLI 无法在 Windows 上仅扫描子文件夹中的文件
  • 修复用户主题应该替换默认主题
  • 修复 gridTemplateColumns 的生成
  • 修复自定义字符串样式的 fontSize 和作为数组第二项的 lineHeight 时的问题
  • 修复自定义动画无效
  • 修复图片无效
  • 代码格式和工作流程改进