SuperAPI AI 工具集

m3-web-svelte

前端与建站

查看项目

更新于 10-16 06:41

技能介绍

用途:面向 Svelte 或 SvelteKit 项目,介绍如何实现 Material Design 3(M3),可选 SMUI(Svelte Material UI)或直接使用 @material/web 两种路径。

主要能力:SMUI 将 Google MDC-Web 的基础逻辑封装为 Svelte 原生组件,并向 M3 演进,集成 MDC v10;Svelte 5 兼容(v8+)。也可直接使用 @material/web,Svelte 对 Custom Elements 支持良好。内容覆盖 M3 组件用法、主题定制与兼容性检查。

安装:SMUI 整体安装 npm install svelte-material-ui;单包安装如 npm install @smui/button @smui/card @smui/textfield @smui/top-app-bar。@material/web 安装 npm install @material/web。

用法示例:SMUI 引入组件后使用,如 import Button from '@smui/button',按钮支持 variant="raised"、"outlined" 或默认文本样式;卡片使用 Card 组件包裹内容;文本字段使用 Textfield 并设置 variant="outlined" 或 "filled" 与 label。@material/web 则按模块引入 JS,再直接使用 md-filled-button、md-outlined-text-field、md-checkbox 等自定义元素。主题可通过全局样式表的 CSS 自定义属性配置,例如 --md-sys-color-primary、--md-sys-color-on-primary、--md-ref-typeface-brand。

适用场景:Svelte/SvelteKit 项目,尤其希望使用 Svelte 原生 Material 组件,或愿意直接采用 Web Components 的项目。

限制与说明:需在两种方案间做选择;M3 色彩令牌需通过 CSS 自定义属性或 SMUI 主题机制应用;组件应使用 M3 对齐的变体;应同时支持明暗主题;需在 SMUI v8+ 上验证 Svelte 5 兼容性。资料未提供具体收费、许可与完整主题实现细节。