lucide-laravel
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLucide Laravel
Lucide Laravel 集成
Laravel Blade integration for the Lucide icon library - 1,666+ beautiful, consistent SVG icons.
为 Lucide 图标库提供 Laravel Blade 集成——包含1666+款美观、风格统一的SVG图标。
Installation
安装
bash
composer require mallardduck/blade-lucide-iconsClear view cache if icons don't appear:
bash
php artisan view:clearbash
composer require mallardduck/blade-lucide-icons如果图标未显示,请清除视图缓存:
bash
php artisan view:clearQuick Start
快速开始
Basic Usage
基础用法
Icons use the prefix with kebab-case naming:
x-lucide-blade
<x-lucide-activity />
<x-lucide-heart />
<x-lucide-shopping-cart />
<x-lucide-circle-check />图标使用 前缀,名称采用短横线分隔式(kebab-case):
x-lucide-blade
<x-lucide-activity />
<x-lucide-heart />
<x-lucide-shopping-cart />
<x-lucide-circle-check />Naming Convention
命名规范
Convert PascalCase icon names to kebab-case:
| Icon Name | Blade Component |
|---|---|
| Activity | |
| ShoppingCart | |
| CircleCheck | |
| ArrowRight | |
将帕斯卡命名法(PascalCase)的图标名称转换为短横线分隔式:
| 图标名称 | Blade组件 |
|---|---|
| Activity | |
| ShoppingCart | |
| CircleCheck | |
| ArrowRight | |
Styling
样式设置
Tailwind CSS
Tailwind CSS
blade
<!-- Size and color -->
<x-lucide-album class="w-6 h-6 text-gray-500"/>
<!-- Responsive sizing -->
<x-lucide-heart class="w-4 h-4 md:w-6 md:h-6 text-red-500"/>
<!-- Hover effects -->
<x-lucide-star class="w-5 h-5 text-yellow-400 hover:text-yellow-500 cursor-pointer"/>
<!-- Transitions -->
<x-lucide-bell class="w-6 h-6 text-gray-700 hover:text-gray-900 transition-colors duration-200"/>blade
<!-- 尺寸与颜色 -->
<x-lucide-album class="w-6 h-6 text-gray-500"/>
<!-- 响应式尺寸 -->
<x-lucide-heart class="w-4 h-4 md:w-6 md:h-6 text-red-500"/>
<!-- 悬停效果 -->
<x-lucide-star class="w-5 h-5 text-yellow-400 hover:text-yellow-500 cursor-pointer"/>
<!-- 过渡效果 -->
<x-lucide-bell class="w-6 h-6 text-gray-700 hover:text-gray-900 transition-colors duration-200"/>Inline Styles
内联样式
blade
<x-lucide-anchor style="color: #555"/>
<x-lucide-heart style="color: #ff0000; width: 48px; height: 48px;"/>
<x-lucide-activity style="color: var(--primary-color); stroke-width: 1.5;"/>blade
<x-lucide-anchor style="color: #555"/>
<x-lucide-heart style="color: #ff0000; width: 48px; height: 48px;"/>
<x-lucide-activity style="color: var(--primary-color); stroke-width: 1.5;"/>Common Patterns
常见使用场景
Navigation Menus
导航菜单
blade
<nav>
<div class="flex items-center gap-6">
<a href="/dashboard" class="flex items-center gap-2">
<x-lucide-layout-dashboard class="w-5 h-5"/>
<span>Dashboard</span>
</a>
<a href="/products" class="flex items-center gap-2">
<x-lucide-package class="w-5 h-5"/>
<span>Products</span>
</a>
<a href="/settings" class="flex items-center gap-2">
<x-lucide-settings class="w-5 h-5"/>
<span>Settings</span>
</a>
</div>
</nav>blade
<nav>
<div class="flex items-center gap-6">
<a href="/dashboard" class="flex items-center gap-2">
<x-lucide-layout-dashboard class="w-5 h-5"/>
<span>仪表盘</span>
</a>
<a href="/products" class="flex items-center gap-2">
<x-lucide-package class="w-5 h-5"/>
<span>产品</span>
</a>
<a href="/settings" class="flex items-center gap-2">
<x-lucide-settings class="w-5 h-5"/>
<span>设置</span>
</a>
</div>
</nav>Form Inputs
表单输入框
blade
<div class="relative">
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
<x-lucide-search class="w-5 h-5 text-gray-400"/>
</div>
<input type="text" class="pl-10 w-full border rounded-lg" placeholder="Search..."/>
</div>blade
<div class="relative">
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
<x-lucide-search class="w-5 h-5 text-gray-400"/>
</div>
<input type="text" class="pl-10 w-full border rounded-lg" placeholder="搜索..."/>
</div>Alerts
提示框
blade
<!-- Success -->
<div class="flex items-start gap-3 p-4 bg-green-50 border-l-4 border-green-500 rounded">
<x-lucide-check-circle class="w-6 h-6 text-green-600 flex-shrink-0"/>
<div>
<h4 class="font-semibold text-green-800">Success!</h4>
<p class="text-green-700">Your changes have been saved.</p>
</div>
</div>
<!-- Error -->
<div class="flex items-start gap-3 p-4 bg-red-50 border-l-4 border-red-500 rounded">
<x-lucide-alert-circle class="w-6 h-6 text-red-600 flex-shrink-0"/>
<div>
<h4 class="font-semibold text-red-800">Error</h4>
<p class="text-red-700">Something went wrong.</p>
</div>
</div>
<!-- Info -->
<div class="flex items-start gap-3 p-4 bg-blue-50 border-l-4 border-blue-500 rounded">
<x-lucide-info class="w-6 h-6 text-blue-600 flex-shrink-0"/>
<p class="text-blue-700">Please review your changes before submitting.</p>
</div>blade
<!-- 成功提示 -->
<div class="flex items-start gap-3 p-4 bg-green-50 border-l-4 border-green-500 rounded">
<x-lucide-check-circle class="w-6 h-6 text-green-600 flex-shrink-0"/>
<div>
<h4 class="font-semibold text-green-800">成功!</h4>
<p class="text-green-700">您的修改已保存。</p>
</div>
</div>
<!-- 错误提示 -->
<div class="flex items-start gap-3 p-4 bg-red-50 border-l-4 border-red-500 rounded">
<x-lucide-alert-circle class="w-6 h-6 text-red-600 flex-shrink-0"/>
<div>
<h4 class="font-semibold text-red-800">错误</h4>
<p class="text-red-700">出现了一些问题。</p>
</div>
</div>
<!-- 信息提示 -->
<div class="flex items-start gap-3 p-4 bg-blue-50 border-l-4 border-blue-500 rounded">
<x-lucide-info class="w-6 h-6 text-blue-600 flex-shrink-0"/>
<p class="text-blue-700">提交前请检查您的修改。</p>
</div>Action Buttons
操作按钮
blade
<!-- Icon-only button with aria-label -->
<button class="p-2 hover:bg-gray-100 rounded" aria-label="Delete">
<x-lucide-trash class="w-5 h-5 text-red-600"/>
</button>
<!-- Button with icon and text -->
<button class="flex items-center gap-2 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700">
<x-lucide-save class="w-5 h-5"/>
<span>Save</span>
</button>
<!-- Primary action -->
<button class="flex items-center gap-2 bg-green-600 text-white px-4 py-2 rounded-lg">
<x-lucide-plus class="w-5 h-5"/>
<span>Add New</span>
</button>blade
<!-- 仅图标按钮 - 务必添加aria-label -->
<button class="p-2 hover:bg-gray-100 rounded" aria-label="删除">
<x-lucide-trash class="w-5 h-5 text-red-600"/>
</button>
<!-- 带图标和文字的按钮 -->
<button class="flex items-center gap-2 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700">
<x-lucide-save class="w-5 h-5"/>
<span>保存</span>
</button>
<!-- 主要操作按钮 -->
<button class="flex items-center gap-2 bg-green-600 text-white px-4 py-2 rounded-lg">
<x-lucide-plus class="w-5 h-5"/>
<span>新增</span>
</button>With Livewire
与Livewire配合使用
blade
<!-- Loading states -->
<button wire:click="refresh" class="flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg">
<x-lucide-refresh-cw class="w-5 h-5" wire:loading.class="animate-spin"/>
<span wire:loading.remove>Refresh Data</span>
<span wire:loading>Loading...</span>
</button>
<!-- Toggle icon based on state -->
<div class="flex items-center gap-2">
@if($isFavorited)
<x-lucide-heart class="w-5 h-5 text-red-500 fill-current" wire:click="unfavorite"/>
@else
<x-lucide-heart class="w-5 h-5 text-gray-400" wire:click="favorite"/>
@endif
</div>blade
<!-- 加载状态 -->
<button wire:click="refresh" class="flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg">
<x-lucide-refresh-cw class="w-5 h-5" wire:loading.class="animate-spin"/>
<span wire:loading.remove>刷新数据</span>
<span wire:loading>加载中...</span>
</button>
<!-- 根据状态切换图标 -->
<div class="flex items-center gap-2">
@if($isFavorited)
<x-lucide-heart class="w-5 h-5 text-red-500 fill-current" wire:click="unfavorite"/>
@else
<x-lucide-heart class="w-5 h-5 text-gray-400" wire:click="favorite"/>
@endif
</div>Dynamic Icons
动态图标
Use for dynamic icon names:
<x-dynamic-component>blade
@php
$iconName = 'heart';
$iconComponent = 'lucide-' . $iconName;
@endphp
<x-dynamic-component :component="$iconComponent" class="w-6 h-6" />Common use case - icon from database:
blade
<x-dynamic-component
:component="'lucide-' . $menu->icon"
class="w-5 h-5"
/>使用实现动态图标名称:
<x-dynamic-component>blade
@php
$iconName = 'heart';
$iconComponent = 'lucide-' . $iconName;
@endphp
<x-dynamic-component :component="$iconComponent" class="w-6 h-6" />常见场景 - 从数据库获取图标名称:
blade
<x-dynamic-component
:component="'lucide-' . $menu->icon"
class="w-5 h-5"
/>Best Practices
最佳实践
Consistent Sizing
统一尺寸
| Context | Size |
|---|---|
| Navigation | |
| Button (small) | |
| Button (medium) | |
| Feature icons | |
| Hero icons | |
| 使用场景 | 尺寸 |
|---|---|
| 导航菜单 | |
| 小型按钮 | |
| 中型按钮 | |
| 功能图标 | |
| 首页主图标 | |
Semantic Icon Usage
语义化图标使用
Choose icons that clearly represent their action:
blade
<x-lucide-trash /> <!-- Delete -->
<x-lucide-edit /> <!-- Edit -->
<x-lucide-download /> <!-- Download -->
<x-lucide-upload /> <!-- Upload -->
<x-lucide-copy /> <!-- Copy -->
<x-lucide-share /> <!-- Share -->
<x-lucide-settings /> <!-- Settings -->
<x-lucide-user /> <!-- User/Profile -->
<x-lucide-home /> <!-- Home -->选择能清晰代表操作含义的图标:
blade
<x-lucide-trash /> <!-- 删除 -->
<x-lucide-edit /> <!-- 编辑 -->
<x-lucide-download /> <!-- 下载 -->
<x-lucide-upload /> <!-- 上传 -->
<x-lucide-copy /> <!-- 复制 -->
<x-lucide-share /> <!-- 分享 -->
<x-lucide-settings /> <!-- 设置 -->
<x-lucide-user /> <!-- 用户/个人资料 -->
<x-lucide-home /> <!-- 首页 -->Color Semantics
颜色语义化
blade
<!-- Primary actions -->
<x-lucide-save class="w-5 h-5 text-blue-600"/>
<!-- Success states -->
<x-lucide-check class="w-5 h-5 text-green-600"/>
<x-lucide-check-circle class="w-5 h-5 text-green-600"/>
<!-- Danger/warning -->
<x-lucide-trash class="w-5 h-5 text-red-600"/>
<x-lucide-alert-triangle class="w-5 h-5 text-yellow-600"/>
<!-- Neutral/secondary -->
<x-lucide-info class="w-5 h-5 text-gray-600"/>blade
<!-- 主要操作 -->
<x-lucide-save class="w-5 h-5 text-blue-600"/>
<!-- 成功状态 -->
<x-lucide-check class="w-5 h-5 text-green-600"/>
<x-lucide-check-circle class="w-5 h-5 text-green-600"/>
<!-- 危险/警告 -->
<x-lucide-trash class="w-5 h-5 text-red-600"/>
<x-lucide-alert-triangle class="w-5 h-5 text-yellow-600"/>
<!-- 中性/次要操作 -->
<x-lucide-info class="w-5 h-5 text-gray-600"/>Accessibility
可访问性
blade
<!-- Icon-only button - always include aria-label -->
<button aria-label="Close dialog">
<x-lucide-x class="w-6 h-6"/>
</button>
<!-- Decorative icon - hide from screen readers -->
<x-lucide-star class="w-5 h-5" aria-hidden="true"/>
<!-- Icon with visible text - accessible by default -->
<button class="flex items-center gap-2">
<x-lucide-download class="w-5 h-5"/>
<span>Download</span>
</button>blade
<!-- 仅图标按钮 - 务必添加aria-label -->
<button aria-label="关闭对话框">
<x-lucide-x class="w-6 h-6"/>
</button>
<!-- 装饰性图标 - 对屏幕阅读器隐藏 -->
<x-lucide-star class="w-5 h-5" aria-hidden="true"/>
<!-- 带可见文字的图标 - 默认具备可访问性 -->
<button class="flex items-center gap-2">
<x-lucide-download class="w-5 h-5"/>
<span>下载</span>
</button>Icon Reference
图标参考
Total Icons: 1,666 across 43 categories
总图标数: 覆盖43个分类,共1666款图标
Quick Reference
快速参考
| Category | Count | File | Common Icons |
|---|---|---|---|
| Accessibility | 30 | accessibility.md | |
| Accounts & access | 133 | accounts-access.md | |
| Animals | 23 | animals.md | |
| Arrows | 209 | arrows.md | |
| Brands | 21 | brands.md | |
| Buildings | 25 | buildings.md | |
| Charts | 31 | charts.md | |
| Coding & development | 243 | coding-development.md | |
| Communication | 54 | communication.md | |
| Connectivity | 90 | connectivity.md | |
| Cursors | 33 | cursors.md | |
| Design | 145 | design.md | |
| Devices | 164 | devices.md | |
| Emoji | 28 | emoji.md | |
| File icons | 162 | file-icons.md | |
| Finance | 56 | finance.md | |
| Food & beverage | 69 | food-beverage.md | |
| Gaming | 148 | gaming.md | |
| Home | 57 | home.md | |
| Layout | 139 | layout.md | |
| 26 | mail.md | | |
| Mathematics | 74 | mathematics.md | |
| Medical | 42 | medical.md | |
| Multimedia | 138 | multimedia.md | |
| Nature | 23 | nature.md | |
| Navigation, Maps, POIs | 84 | navigation-maps-pois.md | |
| Notification | 39 | notification.md | |
| People | 3 | people.md | |
| Photography | 75 | photography.md | |
| Science | 32 | science.md | |
| Seasons | 5 | seasons.md | |
| Security | 55 | security.md | |
| Shapes | 48 | shapes.md | |
| Shopping | 27 | shopping.md | |
| Social | 119 | social.md | |
| Sports | 13 | sports.md | |
| Sustainability | 24 | sustainability.md | |
| Text formatting | 246 | text-formatting.md | |
| Time & calendar | 58 | time-calendar.md | |
| Tools | 66 | tools.md | |
| Transportation | 64 | transportation.md | |
| Travel | 67 | travel.md | |
| Weather | 45 | weather.md | |
| 分类 | 数量 | 文件 | 常见图标 |
|---|---|---|---|
| 无障碍 | 30 | accessibility.md | |
| 账号与权限 | 133 | accounts-access.md | |
| 动物 | 23 | animals.md | |
| 箭头 | 209 | arrows.md | |
| 品牌 | 21 | brands.md | |
| 建筑 | 25 | buildings.md | |
| 图表 | 31 | charts.md | |
| 编码与开发 | 243 | coding-development.md | |
| 通讯 | 54 | communication.md | |
| 连接性 | 90 | connectivity.md | |
| 光标 | 33 | cursors.md | |
| 设计 | 145 | design.md | |
| 设备 | 164 | devices.md | |
| 表情符号 | 28 | emoji.md | |
| 文件图标 | 162 | file-icons.md | |
| 金融 | 56 | finance.md | |
| 餐饮 | 69 | food-beverage.md | |
| 游戏 | 148 | gaming.md | |
| 家居 | 57 | home.md | |
| 布局 | 139 | layout.md | |
| 邮件 | 26 | mail.md | |
| 数学 | 74 | mathematics.md | |
| 医疗 | 42 | medical.md | |
| 多媒体 | 138 | multimedia.md | |
| 自然 | 23 | nature.md | |
| 导航、地图、兴趣点 | 84 | navigation-maps-pois.md | |
| 通知 | 39 | notification.md | |
| 人物 | 3 | people.md | |
| 摄影 | 75 | photography.md | |
| 科学 | 32 | science.md | |
| 季节 | 5 | seasons.md | |
| 安全 | 55 | security.md | |
| 形状 | 48 | shapes.md | |
| 购物 | 27 | shopping.md | |
| 社交 | 119 | social.md | |
| 运动 | 13 | sports.md | |
| 可持续发展 | 24 | sustainability.md | |
| 文本格式 | 246 | text-formatting.md | |
| 时间与日历 | 58 | time-calendar.md | |
| 工具 | 66 | tools.md | |
| 交通 | 64 | transportation.md | |
| 旅行 | 67 | travel.md | |
| 天气 | 45 | weather.md | |
Finding Icons
查找图标
- Browse by category: Read the category reference files for complete icon lists
- Search visually: Visit lucide.dev/icons
- Use autocomplete: IDEs with Blade autocomplete can suggest available icons
- 按分类浏览: 查看分类参考文件获取完整图标列表
- 可视化搜索: 访问lucide.dev/icons
- 使用自动补全: 支持Blade自动补全的IDE会提示可用图标
Category File Format
分类文件格式
Each category file contains:
- Icon count and description
- Complete table of icons with Blade component syntax
- Related categories for each icon
- Usage examples specific to that category
每个分类文件包含:
- 图标数量与描述
- 包含Blade组件语法的完整图标表格
- 每个图标相关的分类
- 该分类特有的使用示例
Troubleshooting
故障排查
Icons not displaying:
bash
php artisan view:clearStyling not applied:
- Ensure Tailwind processes Blade files
- Check icon names use kebab-case
Publish raw SVGs (optional):
bash
php artisan vendor:publish --tag=blade-lucide-icons --force图标未显示:
bash
php artisan view:clear样式未生效:
- 确保Tailwind处理Blade文件
- 检查图标名称是否使用短横线分隔式
发布原始SVG(可选):
bash
php artisan vendor:publish --tag=blade-lucide-icons --force