【玩转全栈】—— 无敌前端究极动态组件库--Inspira UI

news2025/4/25 5:33:54

目录

Inspira UI 介绍

配置环境

使用示例


 

效果:

Inspira UI

学习视频:

华丽优雅 | Inspira UI快速上手_哔哩哔哩_bilibili

官网:https://inspira-ui.com/

Inspira UI 介绍

        Inspira UI 是一个设计精美、功能丰富的用户界面库,专为开发者和设计师打造,旨在加速Web应用程序的开发过程。它提供了一系列精心设计的组件,如按钮、卡片、表单元素、导航栏等,所有这些都遵循现代设计原则,并且高度可定制,使得创建独特而专业的用户体验变得轻而易举。Inspira UI 支持多种框架,包括React、Vue和Angular,确保无论使用何种技术栈都能无缝集成。其文档详尽清晰,包含大量示例和最佳实践指南,帮助新手快速上手,同时也为有经验的开发者提供了深入探索的可能性。此外,Inspira UI 强调响应式设计,保证了应用在不同设备上的完美展现,让开发者只需编写一次代码即可适配各种屏幕尺寸。无论是构建企业级应用还是个人项目,Inspira UI 都是一个值得信赖的选择。

配置环境

官网也有教如何配置的,看不懂的可以看我下面的操作:

创建一个 vue 项目:

npm create @latest 项目名称

下载依赖:

npm install

需要下载 tailwindcss 依赖(建议使用 cnpm 或者 pnpm 等打包工具, npm 下载会很慢,甚至导致下载失败):

cnpm install -D tailwindcss@3 postcss autoprefixer

初始化配置文件:

npx tailwindcss init -p

向生成的配置文件  tailwind.config.js 中指定 Tailwind CSS 的作用范围

  content: [
    "./index.html",
    "./src/**/*.{js,ts,jsx,tsx}",
  ],

在  assets / main.css 中添加注解:

@tailwind base;
@tailwind components;
@tailwind utilities;

继续添加依赖:

cnpm install -D @inspira-ui/plugins clsx tailwind-merge class-variance-authority tailwindcss-animate

添加 vue - use:

cnpm install @vueuse/core motion-v

继续手动添加配置,复制以下代码到  tailwind.config.js :

import animate from "tailwindcss-animate";
import { setupInspiraUI } from "@inspira-ui/plugins";

export default {
  darkMode: "selector",
  safelist: ["dark"],
  prefix: "",
  content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"],
  theme: {
    extend: {
      colors: {
        border: "hsl(var(--border))",
        input: "hsl(var(--input))",
        ring: "hsl(var(--ring))",
        background: "hsl(var(--background))",
        foreground: "hsl(var(--foreground))",
        primary: {
          DEFAULT: "hsl(var(--primary))",
          foreground: "hsl(var(--primary-foreground))",
        },
        secondary: {
          DEFAULT: "hsl(var(--secondary))",
          foreground: "hsl(var(--secondary-foreground))",
        },
        destructive: {
          DEFAULT: "hsl(var(--destructive))",
          foreground: "hsl(var(--destructive-foreground))",
        },
        muted: {
          DEFAULT: "hsl(var(--muted))",
          foreground: "hsl(var(--muted-foreground))",
        },
        accent: {
          DEFAULT: "hsl(var(--accent))",
          foreground: "hsl(var(--accent-foreground))",
        },
        popover: {
          DEFAULT: "hsl(var(--popover))",
          foreground: "hsl(var(--popover-foreground))",
        },
        card: {
          DEFAULT: "hsl(var(--card))",
          foreground: "hsl(var(--card-foreground))",
        },
      },
      borderRadius: {
        xl: "calc(var(--radius) + 4px)",
        lg: "var(--radius)",
        md: "calc(var(--radius) - 2px)",
        sm: "calc(var(--radius) - 4px)",
      },
    },
  },

  plugins: [animate, setupInspiraUI],
};

复制官网 css 配置代码到 assets / main.css :

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;

    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;

    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;

    --primary: 221.2 83.2% 53.3%;
    --primary-foreground: 210 40% 98%;

    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;

    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;

    --accent: 210 40% 96.1%;
    --accent-foreground: 222.2 47.4% 11.2%;

    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;

    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 221.2 83.2% 53.3%;
    --radius: 0.5rem;
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;

    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;

    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;

    --primary: 217.2 91.2% 59.8%;
    --primary-foreground: 222.2 47.4% 11.2%;

    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;

    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;

    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;

    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;

    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 224.3 76.3% 48%;
  }
}

src 下创建 lib 文件夹,文件夹中创建 utils.ts 文件,这个文件用于提供工具函数,复制官网代码进去:

import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";

export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs));
}

export type ObjectValues<T> = T[keyof T];

使用示例

这里使用 Vortex :

直接复制代码即可实现炫酷界面,需要注意的是,有的样式背可能会需要下载其他依赖,比如这里就让我下载  simplex-noise  ,跟着官网做就行了,官网也会给出下载命令:

npm install simplex-noise

   然后要做 web 主页面,背景模板和文字是分开的,创建 Vortex 文件,并复制代码进去,这里的 Slot 就是插槽,其他组件调用此组件,可以将文字传入此插槽,就能实现在背景上展现图片。

然后复制上面 code 到主组件

注意,这里需要引入刚才创建的 Vortex.vue :

<script setup lang="ts">
import Vortex from '@/components/inspirs/Vortex.vue';
import { Motion } from "motion-v";
</script>

这也是官方的一个漏洞,没有给出引入的代码,当然,上面是背景和文字分开的代码,也可以把背景和文字融合到一个 vue 文件中,也就不需要 引入了,但是这样不利于维护和扩展。

代码部署完后的效果(我这里还融合了其他样式,跟官网的示例会不大一样):

Inspira UI

感谢您的观看!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2342155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《求知导刊》是CN期刊吗?学术期刊吗?

《求知导刊》是CN 期刊&#xff0c;同时也属于学术期刊。 CN 期刊的定义 CN 期刊是指在我国境内注册、经国家新闻出版署批准公开发行的期刊&#xff0c;具备国内统一连续出版物号&#xff08;CN 号&#xff09;。这是判断期刊是否为正规合法期刊的重要标准。 《求知导刊》的 C…

动手试一试 Spring Security入门

1.创建Spring Boot项目 引入Web和Thymeleaf的依赖启动器 2.引入页面Html资源文件 在项目的resources下templates目录中&#xff0c;引入案例所需的资源文件&#xff08;下载地址&#xff09;&#xff0c;项目结构如下 3.创建控制器 Controller public class FilmController…

使用若依二次开发商城系统-4:商品属性

功能3&#xff1a;商品分类 功能2&#xff1a;商品品牌 功能1&#xff1a;搭建若依运行环境前言 商品属性功能类似若依自带的字典管理&#xff0c;分两步&#xff0c;先设置属性名&#xff0c;再设置对应的属性值。 一.操作步骤 1&#xff09;数据库表product_property和pro…

PCB封装主要组成元素

PCB&#xff08;Printed Circuit Board&#xff0c;印刷电路板&#xff09;封装是指将电子元件固定在 PCB 上&#xff0c;并实现电气连接的方式。主要包括以下几类。 1. 焊盘&#xff08;Pad&#xff09; 作用&#xff1a;焊盘是 PCB 封装中最重要的元素之一&#xff0c;它是…

《ATPL地面培训教材13:飞行原理》——第1章:概述与定义

翻译&#xff1a;刘远贺&#xff1b;辅助工具&#xff1a;Cluade 3.7 第1章&#xff1a;概述与定义 目录 概述一般定义术语表符号列表希腊符号其他自我评估问题答案 概述 飞机的基本要求如下&#xff1a; 机翼产生升力&#xff1b; 机身容纳载荷&#xff1b; 尾部表面增加…

实时数字人——DH_LIVE

前两天亲手搭建了实时对话数字人VideoChat&#xff0c;今天来搭建下DH_LIVE。 DH_LIVE一个实时数字人解决方案&#xff0c;从输入文字到数字人对口型说话用时2-3秒。 今天就来实际操作下dh_live的搭建过程。 首先贴上git地址&#xff1a;https://github.com/kleinlee/DH_liv…

SDC命令详解:使用remove_sdc命令移除约束

相关阅读 SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482 remove_sdc命令用于移除当前设计中设置的所有SDC约束&#xff0c;需要注意的是&#xff0c;UPF约束不会被移除&#xff0c;要想移除UPF约束&#xff0c;需要使用r…

UI界面工程,如何使用控制台

我们通常会使用print函数向控制台输出调试信息。但创建UI界面工程时&#xff0c;默认不会显示控制台。 通过如下方法切换到控制台 项目属性—链接器—系统—子系统—窗口改为控制台

Elasticsearch 堆内存使用情况和 JVM 垃圾回收

作者&#xff1a;来自 Elastic Kofi Bartlett 探索 Elasticsearch 堆内存使用情况和 JVM 垃圾回收&#xff0c;包括最佳实践以及在堆内存使用过高或 JVM 性能不佳时的解决方法。 堆内存大小是分配给 Elasticsearch 节点中 Java 虚拟机的 RAM 数量。 从 7.11 版本开始&#xff…

网络开发基础(游戏)之 域名解析

域名 &#xff08;Domain Name&#xff09; 是互联网中用于标识和定位网站、服务器或其他网络资源的字符串&#xff08;如 baidu.com、google.com&#xff09;&#xff0c;它充当了人类可读的“门牌号”。 其核心作用有以下几点&#xff1a; 1. 代替IP地址&#xff0c;便于记…

【数字图像处理】机器视觉(1)

判别相对应的点 1. 图像灰度化 2. 局部特征 3. 仿射不变性特征 图像变化的类型 【1】几何变化&#xff1a;旋转、相似&#xff08;旋转 各向相同的尺度缩放&#xff09;、仿射&#xff08;非各向相同的尺度缩放&#xff09; 【2】灰度变化&#xff1a;仿射灰度变化 角点 角…

C++项目 —— 基于多设计模式下的同步异步日志系统(4)(双缓冲区异步任务处理器(AsyncLooper)设计)

C项目 —— 基于多设计模式下的同步&异步日志系统&#xff08;4&#xff09;&#xff08;双缓冲区异步任务处理器&#xff08;AsyncLooper&#xff09;设计&#xff09; 异步线程什么是异步线程&#xff1f;C 异步线程简单例子代码解释程序输出关键点总结扩展&#xff1a;使…

Vue el-checkbox 虚拟滚动解决多选框全选卡顿问题 - 高性能处理大数据量选项列表

一、背景 在我们开发项目中&#xff0c;经常会遇到需要展示大量选项的多选框场景&#xff0c;比如权限配置、数据筛选等。当选项数量达到几百甚至上千条时&#xff0c;传统的渲染方式全选时会非常卡顿&#xff0c;导致性能问题。本篇文章&#xff0c;记录我使用通过虚拟滚动实现…

声音识别(声纹识别)和语音识别的区别

目录 引言一、语音识别1.声学模型2.语言模型3.词典 二、声音识别&#xff08;声纹识别&#xff09;三、语音识别、声音识别、语义识别的区别四、总结 引言 咋一看这个标题是不是很多小伙伴都迷糊了&#xff0c;哇哈&#xff0c;这两个不是一样的吗&#xff1f; 结论是&#x…

使用Mybaitis-plus提供的各种的免写SQL的Wrapper的使用方式

文章目录 内连接JoinWrappers.lambda和 new MPJLambdaWrapper 生成的MPJLambdaWrapper对象有啥区别&#xff1f;LambdaQueryWrapper 和 QueryWrapper的区别&#xff1f;LambdaQueryWrapper和MPJLambdaQueryWrapper的区别&#xff1f;在作单表更新时建议使用&#xff1a;LambdaU…

springboot-基于Web企业短信息发送系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。本系统采用B/S架构&#xff0c;数据库是MySQL…

秀丸编辑器 使用技巧

参考资料 第II部〜知っていると便利な秀丸の機能 検索テキストファイルの16進表示について秀丸エディタヘルプ目次秀丸エディタ&#xff31;&#xff06;&#xff21;集(第9.6版)&#xff08;HTML 形式&#xff09;テンプレート&#xff08;Ver9.43対応版&#xff09; 目录 零…

什么是量子计算?它能做什么?

抛一枚硬币。要么正面朝上&#xff0c;要么反面朝上&#xff0c;对吧&#xff1f;当然&#xff0c;那是在我们看到硬币落地的结果之后。但当硬币还在空中旋转时&#xff0c;它既不是正面也不是反面&#xff0c;而是正面和反面都有一定的可能性。 这个灰色地带就是量子计算的简…

【新能源科学与技术】MATALB/Simulink小白教程(一)实验文档【新能源电力转换与控制仿真】

DP读书&#xff1a;新能源科学与工程——专业课「新能源发电系统」 2025a 版本 MATLAB下面进入正题 仿真一&#xff1a;Buck 电路一、仿真目的二、仿真内容&#xff08;一&#xff09;Buck电路基本构成及工作原理&#xff08;二&#xff09;Buck电路仿真模型及元件连接&#xf…

快速生成安卓证书并打包生成安卓apk(保姆教程)

一.生成安卓证书 目前市面上生成可以快速生成安卓证书的网站有很多个人推荐香蕉云编以下是网站链接 香蕉云编-app打包上架工具类平台 1.进入网站如下图 2.点击生成签名证书 3.点击立即创建证书 4.点击创建安卓证书 5.按照指引完成创建 6.点击下载就可使用 二.打包安卓apk …