第三章:前端UI框架介绍
文章目录
- 一、Bootstrap
- 1.1 Bootstrap简介及版本
- 1.2 Bootstrap使用
- 二、AntDesign
- 2.1 简介
- 2.2 基本使用
- 2.3 antd pro
- 三、ElementUI
- 3.1 简介
- 3.2 基本使用
- 四、Vant
- 4.1 简介
- 4.2 基本使用
一、Bootstrap
1.1 Bootstrap简介及版本
1、 简介
Bootstrap,来白 Twitter,是目前最受欢迎的前端框架之一。Bootstrap 是基丁 HTML、CSS、JavaScript的,它在jQucry的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。
Bootstrap 简洁灵活,使得 Web 开发更加快捷。其最大的优势是响应式布局,使得开发者可以方便的让网页无论在台式机、平板设备、手机上都获得最佳的体验
2、Bootstrap包括内容
- 基本结构::Bootstrap 提供了一个带有网格系统、链接样式、背景的基本结构。这将在Bootstrap 基本结构部分详细讲解。
- CSS: Bootstrap 自带以下特性:全局的 CSS 设置、定义基本的 HTML 元素样式,以及一个先进的网格系统。这将在 Bootstrap CSS 部分详细讲解。
- 组件: Bootstrap 包含了十几个可重用的组件,用于创建图像、下拉菜单、导航、警告框、弹出·框等等。这将在 布局组件部分详细讲解。
- JavaScript 插件: Bootstrap 包含了十几个自定义的 jQuery 插件。您可以直接包含所有的插件,也可以逐个包含这些插件。这将在 Bootstrap 插件部分详细讲解。
- 定制: 您可以定制 Bootstrap 的组件、LESS 变量和 Query 插件来得到您自己的版本
3、官网地址
- 官网下载地址: http://getbootstrap.com/
- 中文网下载地址:http://www.bootcss.com/
- 如果您使用的是未编译的源代码,您需要编译 LESS 文件来生成可重用的 CSS文件。对于编译 LESS 文件,Bootstrap 官方只支持 Recess,这是 Twitter 的基于 less.js 的 CSS 提示。
4、如何选择版本
- 根据文档中对浏览器中的支持
- 是否依赖jQuery
1.2 Bootstrap使用
1、栅格系统
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视(viewport)尺寸的增加,系统会自动分为最多12列
- Bootstrap栅格参数
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><!-- 引入CDN的CSS资源 --><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css"rel="stylesheet"integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD"crossorigin="anonymous"/><!-- 引入CDN的JS资源 --><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"integrity="sha384-/mhDoLbDldZc3qpsJHpLogda//BVZbgYuw6kof4u2FrCedxOtgRZDTHgHUhOCVim"crossorigin="anonymous"></script><style>div[class^="col"] {border: 1px solid purple;}</style></head><body><div><div class="container text-center"><div class="row"><div class="col">col</div><div class="col">col</div><div class="col">col</div><div class="col">col</div></div><div class="row"><div class="col-8">col-8</div><div class="col-4">col-4</div></div></div></div></body>
</html>
二、AntDesign
2.1 简介
官网: https://ant.design/index-cn。
AntDesign,来自蚂蚁金服体验技术部,是基于React (官方实现)的目前最受欢迎的前端框架之一。 AntDesign 可以应对量级巨大且功能复杂,而且变动和并发频繁,常常需要设计与开发能够快速的做出响应的企业级产品。
AntDesign 具有学习成本低、上手速度快、实现效果好等特点。其最大的优势通过模块化的解决方案,降低冗余的生产成本,让设计者专注于更好的用户体验。
1、应用场景
- 提炼自企业级中后台产品的交互语言和视觉风格
- 开箱即用的高质量 React 组件。也有支持Vue的版本和Angular的版本(社区实现)
- 使用 TypeScript 开发,提供完整的类型定义文件。
- 全链路开发和设计工具体系。
- 数十个国际化语言支持
2、包括内容:
- 基本使用:此部分包含AntDesign基本简介,以及如何快速创建一个包含AntDesign组件的简单项目,以便创建各种相关的组件。
- 组件:AntDesign 包含几十种常用的组件,包括按钮,图标,排版等通用组件,以及栅格布局,间距等布局组件,此外还有导航、数据录入、数据展示、反馈等相关组件,将在组件部分详细讲解。
- Ant Design Pro:作为一个开箱即用的前端脚手架,是基于 Ant Design 和 umi的封装的·整套企业级中后台前端/设计解决方案
3、全局样式
- 主题颜色
- 栅格体系
- 栅格化系统基于 FIx 布局,允许子元素在父节点内的水平对齐方式 居左、居中、居右、等宽排列、分散排列。子元素与子元素之间,支持顶部对齐、垂直所中对齐、底部对齐的方式。同时,支持使用 order 来定义元素的排列顺序。
- 按钮
- Form表单
4、antDesign资源
2.2 基本使用
0、创建一个react工程
npx create-react-app antd-demo --template typescript
1、安装
npm install antd --save
2、在项目中使用
import React from 'react';
import { Button } from 'antd';const App: React.FC = () => (<div className="App"><Button type="primary">Button</Button></div>
);export default App;
2.3 antd pro
Ant Design Pro 是基于 Ant Design 和 umi 的封装的一整套企业级中后台前端设计解决方案。
官网:https://pro.ant.design/
三、ElementUI
3.1 简介
官方网站: https://element.eleme.cn/#/zh-CN
Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型。由饿了么公司前端团队开源。
Element 提供了众多的UI组件,可以快速搭建前端项目,后期也更加容易维护,更加适合敏捷开发。设计师可以下载设计文件,在设计阶段可以直接使用模板,既可以快速设计出图,也可以保证前端实现。
1、使用场景
- Element UI 是一款交互和设计都很优秀的前端UI框架,基于Vue 2.0,(Element Plus 基于Vue 3.0),同时也有基于React和Angular的实现,满足各种前端技术选型,以及前端开发人员选择。
- 框架的视觉设计非常优秀,细节处理很到位。
- 交互体验非常好,即便复杂的表单,反馈也很清晰,操作简洁。
- 容易上手,官方示例代码充足。
- 支持定制主题,方便设计师进行个性化设计风格的设置。
2、基本使用
- 基本使用:此部分包含Element基本简介,以及如何快速创建一个包含Element组件的简单项目,以便创建各种相关的组件。
- 组件: Element 包含几十种常用的组件,包括按钮,图标,排版等通用组件,以及栅格,布局,间距等布局组件,此外还有导航、数据录入、数据展示、反馈等相关组件,将在组件部分详细讲解。
3.2 基本使用
- elementUI是基于vue2的,element-plus基于vue3
1、安装
npm i element-ui -S
2、完整引入
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';Vue.use(ElementUI);new Vue({el: '#app',render: h => h(App)
});
3、vue组件中使用
<el-row><el-col :span="24"><div class="grid-content bg-purple-dark"></div></el-col>
</el-row>
四、Vant
4.1 简介
1、vant
- 官方网站: https://vant-contrib.gitee.io/vant/#/zh-CN/home
- Vant 是·个轻量、川靠的移动端组件库,于 2017 年开源。
- 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护React 版本和支付宝小程序版本
2、使用场景
- Vant 是一套轻量、可靠的移动端织件库。通过 Vant,可以快速搭建出风格统一的页面,提升开发效率。
- 性能极佳,组件平均体积小于 1KB (min+gzip)
- 70+ 个高质量组件,覆盖移动端主流场景。
- 使用TypeScript 编写,提供完整的类型定义。
- 单元测试覆盖率超过 90%,提供稳定性保障。
- 提供丰富的中英文文档和组件示例。
- 支持按需引入和 Tree Shaking,支持国际化,内置 20+ 种语言包,等等
3、包括内容
- 组件: Vant 包含 70+ 种常用的组件,包括按钮、单元格、图标、布局等基础组件,以及各种表单组件,反馈组件,展示组件,导航组件和业务组件等等,
4.2 基本使用
1、安装
# Vue 3 项目,安装最新版 Vant
npm i vant# Vue 2 项目,安装 Vant 2
npm i vant@latest-v2
2、常规使用
import { createApp } from 'vue';
// 1. 引入你需要的组件
import { Button } from 'vant';
// 2. 引入组件样式
import 'vant/lib/index.css';const app = createApp();// 3. 注册你需要的组件
app.use(Button);
相关文章:

第三章:前端UI框架介绍
文章目录 一、Bootstrap1.1 Bootstrap简介及版本1.2 Bootstrap使用 二、AntDesign2.1 简介2.2 基本使用2.3 antd pro 三、ElementUI3.1 简介3.2 基本使用 四、Vant4.1 简介4.2 基本使用 一、Bootstrap 1.1 Bootstrap简介及版本 1、 简介 Bootstrap,来白 Twitter&a…...

javaScript:文档流写入和元素写入
目录 前言 文档流写入 把元素直接写入到文档流 注意编辑 注意 元素写入 注意 innerHTML 特点: 设置内容 获取内容 innerText 特点: 注意 相关代码 前言 在JavaScript中,文档流写入是指将内容直接写入到DOM(文档对…...

【BI系统】选型常见问题解答二
本文主要总结BI系统选型过程中遇见的常见问题,并针对性做出回答,希望能为即将选型,或正在选型BI系统的企业用户们提供一个快速了解通道。 有针对金蝶云星空的BI方案吗?能起到怎样的作用? 答:奥威BI系统拥…...

docker版jxTMS使用指南:使用jxTMS采集数据之一
本文讲解了如何jxTMS的数据采集与处理框架并介绍了如何用来采集数据,整个系列的文章请查看:docker版jxTMS使用指南:4.4版升级内容 docker版本的使用,请查看:docker版jxTMS使用指南 4.0版jxTMS的说明,请查…...
【js】日期、时间正则匹配
1、日期的正则表达式 格式:2023-08-11 var reg /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/; var regExp new RegExp(reg); if(!regExp.test(value)){alert("日期格式不正确");return; }2、时间的正则表达式 格式:23:00:00…...
专利研读-SIMD系列-向量化引擎
专利研读-SIMD系列-向量化引擎 1、专利内容 阿里巴巴的专利:向量化处理数据的方法及装置,主要思想为:对于行存表或行、列存混合存储的查询场景,需要手工将行存表转换成列存表再在列存表基础上进行向量化处理,这种方式代…...

C#--设计模式之单例模式
单例模式大概是所有设计模式中最简单的一种,如果在面试时被问及熟悉哪些设计模式,你可能第一个答的就是单例模式。 单例模式的实现分为两种: 饿汉式:在静态构造函数执行时就立即实例化。懒汉式:在程序执行过程中第一…...
RWEQ风蚀方程模型与ArcGIS数据处理Python代码库添加结合理论研究和科研实践
RWEQ模型是应用比较普遍的能适应大区域定量估算风蚀量的模型。该模型是基于大量野外实验的一种经验模型,在实际测定风力导致的土壤侵蚀量以及当地的气象、地表植被、土壤湿度、地表的结皮和地表的可蚀性等因子的基础上得出的一个经验方程。 1、掌握土壤风蚀模型的原…...

基于STM32微控制器的物联网(IoT)节点设计与实现
基于STM32微控制器的物联网(IoT)节点的设计和实现。我们讨论物联网节点的基本概念和功能,并详细介绍了STM32微控制器的特点和优势。然后,我们将探讨如何使用STM32开发环境和相关的硬件模块来设计和实现一个完整的物联网节点。最后,我们将提供一个示例代码,展示如何在STM3…...
篇二十一:中介者模式:解耦对象之间的交互
篇二十一:"中介者模式:解耦对象之间的交互" 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式…...

tomcat的多实例,动静分离(web服务基础结束)
多实例 多实例就是在一台服务器上有多个tomcat的服务(核心是改端口) 实验:多实例 安装步骤 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomca…...

LeetCode150道面试经典题--判断子序列(简单)
1.题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序…...

kubeadml 安装 k8s
目录 一:kubeadml 安装 k8s 1、网络环境 2、 环境准备 3、 所有节点安装docker 4、所有节点安装kubeadm,kubelet和kubectl 5、部署K8S集群 6、测试 二: 部署 Dashboard 一:kubeadml 安装 k8s 1、网络环境 master&am…...
考研C语言进阶题库——更新16-20题
目录 16计算t11/2...1/n-11/n 17计算1997! 18计算t1-122-133-...-1nn 19相传国际象棋是古印度舍罕王的宰相达依尔发明的.舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐. 这位聪明的宰相指着8*8共64格的象棋说:陛下,请您赏给我一些麦子吧. 就在棋盘的第1格放1粒…...

【变形金刚01】attention和transformer所有信息
图1.来源:Arseny Togulev在Unsplash上的照片 一、说明 这是一篇 长文 ,几乎讨论了人们需要了解的有关注意力机制的所有信息,包括自我注意、查询、键、值、多头注意力、屏蔽多头注意力和转换器,包括有关 BERT 和 GPT 的一些细节。因…...

面试热题(路径总和II)
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 在这里给大家提供两种方法进行思考,第一种方法是递归,第二种方式使用回溯的方式进行爆…...

测试 tensorflow 1.x 的一个demo 01
tensorflow 1.0的示例代码 demo_01.py import tensorflow as tf import os os.environ[TF_CPP_MIN_LOG_LEVEL]2def tf114_demo():a 3b 4c a bprint("a b in py ",c)a_t tf.constant(3)b_t tf.constant(4)c_t a_t b_tprint("TensorFlow add a_t b_t &…...
达蒙DM数据库使用经验
DM表/字段注释 注:dm数据库无法在建表的同时为字段名添加注释 //为表添加注释 comment on table 库名.表名 is 表注释; //为表字段添加注释 comment on column 库名.表名.列名 is 列注释;DM查询错误:无效的表或视图 1,确认表一定存在 2&am…...

Redis—集群
目录标题 主从复制第一次同步命令传播分担主服务器压力增量复制总结面试题什么是Redis主从复制Redis主从复制的原理Redis主从复制的优点Redis主从复制的缺点Redis主从复制的配置步骤Redis主从复制的同步策略主从节点是长还是短连接判断某个节点是否正常工作主从复制架构中&…...

【C语言】数据在内存中的存储详解
文章目录 一、什么是数据类型二、类型的基本归类三、 整型在内存中的存储1.原码、反码、补码2.大小端(1)什么是大小端(2)为什么会有大小端 四、浮点型在内存中的存储1. 浮点数存储规则 五、练习1.2.3.4.5.6.7. 一、什么是数据类型 我们可以把数据类型想象为一个矩形盒子&#x…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...
raid存储技术
1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划,涵盖存储系统的布局、数据存储策略等,它明确数据如何存储、管理与访问,为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...

SFTrack:面向警务无人机的自适应多目标跟踪算法——突破小尺度高速运动目标的追踪瓶颈
【导读】 本文针对无人机(UAV)视频中目标尺寸小、运动快导致的多目标跟踪难题,提出一种更简单高效的方法。核心创新在于从低置信度检测启动跟踪(贴合无人机场景特性),并改进传统外观匹配算法以关联此类检测…...
JavaScript性能优化实战大纲
性能优化的核心目标 降低页面加载时间,减少内存占用,提高代码执行效率,确保流畅的用户体验。 代码层面的优化 减少全局变量使用,避免内存泄漏 // 不好的实践 var globalVar I am global;// 好的实践 (function() {var localV…...