- 博客(26)
- 收藏
- 关注
原创 flex:1 和 flex:auto
CSS中flex:1与flex:auto的关键区别在于空间分配方式:flex:1(等价于1 1 0%)会忽略项目内容宽度,强制所有项目等分剩余空间;而flex:auto(等价于1 1 auto)会先按内容计算初始宽度,再分配剩余空间。前者适合需要均等宽度的布局,后者适合优先保留内容宽度的场景。
2025-06-16 09:12:48
237
原创 Vue3优质动画库推荐
本文对比了Vue3项目中常用的动画解决方案:1) GSAP适合复杂时间轴动画,提供精细交互控制;2) Lottie通过JSON渲染AE动画,适合高质量UI动效;3) Motion Vue采用声明式API,支持手势驱动动画。选型建议:复杂动画用GSAP,UI动效选Lottie,轻量需求用Motion Vue,性能敏感场景优先CSS过渡。各类方案均提供Vue3+TS集成示例,包括安装方式和组件代码片段。
2025-06-15 19:11:20
399
原创 CSS Margin纵向重叠(Margin Collapse)问题详解
CSS Margin纵向重叠(Margin Collapse)是相邻块级元素在垂直方向上的margin合并现象,实际间距会取较大值而非相加。常见于相邻兄弟元素、父元素与子元素以及空块元素之间。解决方法包括触发BFC、添加边框/内边距、使用Flex/Grid布局或行内块元素等。最佳实践建议统一使用margin方向(推荐bottom)、避免嵌套margin、优先使用padding以及采用现代布局方案。特殊情况下浮动/绝对定位元素、水平margin和根元素不会发生重叠。掌握这些技巧可以有效控制布局问题。
2025-06-14 14:01:45
425
原创 什么是泛型,如何使用它?
TypeScript中的泛型(Generics)是一种创建可复用、类型安全组件的工具。它允许在定义函数、接口或类时不预先指定具体类型,而是在使用时再指定类型参数,解决了代码复用与类型安全之间的矛盾。泛型的基本用法包括:1)泛型函数,通过类型参数T实现类型安全;2)泛型接口,定义可适配不同类型的接口;3)泛型类,创建支持多种类型的类。高级特性包括类型约束、默认类型参数和多类型参数等。泛型广泛应用于数据结构、工具函数、API响应处理和组件封装等场景,遵循T(类型)、K(键)、V(值)、E(元素)等命名约定。
2025-06-14 13:34:38
452
原创 type 和 interface 共同和区别
TypeScript中type和interface都可定义类型,但存在关键区别:interface支持声明合并和继承,适合对象/类结构;type支持联合类型、元组和基本类型别名,灵活性更强。共同点是都能定义对象形状和扩展类型。建议根据需求选择:对象结构用interface,复杂类型用type,需声明合并时只能用interface。
2025-06-14 13:12:50
161
原创 嘉懿云仓:安全性与专业性的完美结合
嘉懿云仓通过按钮级权限控制、实时权限更新、错误登录防护、数据加密传输等功能,为企业提供了一个高效、安全的库存管理解决方案。它不仅能够帮助企业精细化控制操作权限,还能在权限变更时即时生效,确保系统的安全性和稳定性。同时,系统还通过错误登录防护和数据加密传输,有效防止了恶意攻击和数据泄露,保障了企业的信息安全。随着企业数字化转型的深入,库存管理系统的安全性和灵活性将变得越来越重要。嘉懿云仓正是为了满足这些需求而设计,帮助企业实现高效、安全的库存管理,提升整体运营效率。
2025-03-06 11:09:40
986
原创 如何彻底卸载VSCode及其原来的插件配置缓存
【摘要】 由于使用vscode配置的插件实在太多、太乱、太杂了,现在我想要一个干干净净的 vscode 来作为我的一个草稿本(webStrom 太香了,用了就回不去了),所以准备卸载重新配置 从控制面板找到 vscode 将其卸载。此时仅仅是删除了应用软件,如果重新下载安装之前得插件和个人配置还会重新加载,所有需要完全删除插件和个人配置 删除安装插件 方法一 在图示路径中找到 .vscode 文件夹,将其删除,即可彻底清除安装的插件 方法二 若在图示路径中找不到文件夹,…
2024-05-18 22:47:18
4101
原创 循序渐进引入 jsx 文件写法和函数式组件写法
打开 Vue3 的官方文档,它首先会告诉你,Vue的组件可以按两种不同的风格书写:选项式API和组合式API。文档为我们提供一系列两种风格的代码参考,供我们按照偏好进行选择。实际上,Vue3 组件可不止两种写法,而是多达十几种!然而,不管是什么写法,它们都是基于同一个底层系统实现的,概念之间也是彼此相通的,只是使用的接口不同。在实际开发中,我们也不会同时使用到那么多种写法,但是这并不意味着我们不需要去了解这些写法!
2024-02-06 12:20:03
1435
原创 如何显著提高 GitHub 的访问速度
GitHub是全世界最大的同性交友平台,但是在中国,访问起来是十分慢的,很多人会使用魔法,但是魔法是要钱的,因此这里有一种不要钱的解决方案,在这里分享出来,emmm… 不过不知道会不会帮助到你,总之这段时间,我确实感到了访问速度的提高。
2024-02-03 09:51:04
1239
2
原创 CSS预处理器之Sass
*`:root` 伪类选择器用于选择文档根元素,对于 HTML 文档来说,它选择的是 `<html>` 元素。在这里,它定义了全局的 `CSS` 变量。*/:root {/*`body` 选择器选择了页面的 `<body>` 元素,这里定义了其他全局的 `CSS` 变量。*/body {/*`.header` 选择器选择了页面的 .header 类元素,这里定义了 header 元素区域的 `CSS` 变量*/.header {定义规则变量以开头,后跟变量名。
2024-01-24 08:46:49
1019
1
原创 JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
ES6对象与函数增强特性摘要(150字): ES6新增了增强对象字面量语法,包括属性/方法简写(同名属性可省略值,方法去掉function关键字)和动态计算属性名(用[]包裹表达式)。函数方面支持参数默认值(避免逻辑或||的缺陷)、剩余参数(...args收集多余参数)和展开运算符(...用于函数调用/数组构造/对象浅拷贝)。解构赋值可从数组/对象中提取值到变量,数组按位置解构,对象按属性名解构,均支持默认值和别名。这些特性提升了代码简洁性和表达力,其中展开运算符和解构赋值在数据处理中尤为实用。
2024-01-08 00:41:43
1016
原创 JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】
嘟三~ 嘟三~ 今日份广播题目:“怎么让JavaScript越来越6”。接下来,小菜鸡本人将和大家一起来探讨ES6-ES13的那些酷酷的新特性,从这次广播开始,你也可以炫耀:“这个ES新特性我都用得溜溜的!// 不能这样获取。
2024-01-07 23:07:42
866
原创 JavaScript编码之路【ES6新特性之Class类】
嘟三~ 嘟三~ 今日份广播题目:“怎么让JavaScript越来越6”。接下来,小菜鸡本人将和大家一起来探讨ES6-ES13的那些酷酷的新特性,从这次广播开始,你也可以炫耀:“这个ES新特性我都用得溜溜的!按照构造函数形式创建类,不仅仅和编写普通的函数过于相似,而且代码并不容易理解。因此在新的标准中使用了class关键字来直接定义类,但是,其实这只不过是一个糖衣炮弹【原名:语法糖】,其核心元素是构造函数和原型链。所以学好了构造函数、原型链更有利于去理解类的概念和i其继承关系。
2024-01-07 17:18:45
983
原创 JavaScript编码之路【ES6新特性之模块化】
这是专门针对浏览器端设计的,跟它名字一样,可以异步加载你的模块。它手里有两个武器 “define” 和 “require”,听起来跟CommonJS差不多,可实则不然,这娃子可是异步加载的,不像CommonJS那样会阻塞,性格活跃开朗,给它个大大的赞!,听我说,这就类似于,作为一个孤胆英雄的模块,我就独自上场吧,那你作为引入方,直接用 import 声明一个变量,相应地引入我就行了。是不是很厉害,就像是开了挂,来来去去就那么几行代码,动不动就能加载和导出任何模块,令人惊叹,这就是开挂的生活,我太羡慕了!
2024-01-07 13:15:20
967
原创 什么是事件循环 Eventloop
其实事件循环本身并不难,总结一下:(1)先执行主栈中的宏任务(同步代码),遇到setTimeout之类的宏任务就放进下个循环事件的宏任务列表中,遇见promise或者async await(其实就是对promise的封装)之类的微任务,就放进当前循环的微任务列表中。(2)宏任务执行完毕后,执行当前循环中的微任务。完成当前事件循环中的所有微任务后,当前事件循环结束。(3)开启下一轮循环后,重复上诉操作,注意每个setTimeout本身是一个宏任务,而非多个setTimeout为一个宏任务。
2023-12-31 16:56:51
1069
原创 MySql基础
这个是暑假为了写一个基于 node.js 的博客而去学习的一些MySql基础的学习记录,当时主要是想学一些SQL查询语句而去学习的,分享到这篇博客里面吧。1. MySQL概述在这一章节,我们主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。1.1 数据库相关概念数据库数据库管理系统SQLOracle:大型的收费数据库,Oracle公司产品,价格昂贵。MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。
2023-12-27 11:38:29
566
1
原创 Node.js—Express使用、Express 路由 、Express 中间件、托管静态资源、使用 Express 写接口、node.js链接sqlite数据库
前端也是可以编写接口的噢,我们一步一步学下去吧。// => 定义一个最简单的中间件函数console.log('这是最简单的中间件函数')// => 把流转关系,转交给下一个中间件或路由next()console.log('Web服务启动');})多个中间件之间,共享同一份req和res。基于这样的特性,我们可以在上游的中间件中,统一为req或res对象添加自定义的属性或方法,供下游的中间件或路由进行使用。代码示例/** 捕获请求到达到达服务器的时间*/
2023-12-20 20:22:31
246
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人