编程

Laravel Tailwind Merge - 解决 Laravel 中的 Tailwind CSS 合并问题

843 2023-12-17 17:21:00

Laravel Tailwind Merge 是一个自动解决 Laravel 中 Tailwind CSS 类冲突的包。这允许您合并多个 Tailwind 类并解决冲突。

以下是 README 文件中的一个基本示例。在 blade 组件中提供的以下代码:

// circle.blade.php
<div {{ $attributes->twMerge('w-10 h-10 rounded-full bg-red-500') }}></div>

这是上述 circle 组件的用例:

{{-- your-view.blade.php --}}
<x-circle class="bg-blue-500" />
 
{{-- Output --}}
<div class="w-10 h-10 rounded-full bg-blue-500"></div>

以下是 merge 方法内部工作的 readme 文件中的更多示例。您可以使用 TailwindMerge facade:

use TailwindMerge\Laravel\Facades\TailwindMerge;
 
// block and inline are conflicting; The last rule wins.
TailwindMerge::merge('block inline'); // inline
 
// px-6 overrides pl-4
TailwindMerge::merge('pl-4 px-6'); // px-6
 
// with breakpoints
TailwindMerge::merge('h-10 lg:h-12 lg:h-20'); // h-10 lg:h-20
 
// dark mode
TailwindMerge::merge('text-black dark:text-white dark:text-gray-700');
// text-black dark:text-gray-700
 
// etc.

你也可以使用 @twMerge Blade 指令:

@twMerge('w-10 h-10 rounded-full bg-red-500 bg-blue-500')
{{-- w-10 h-10 rounded-full bg-blue-500 --}}

更多此包的信息,请查看 GitHub 上的源码