刷新
有趣味的登录页它踏着七彩祥云来了

博主头像 最近,有一个比较火的很有趣且灵动的登录页火了。 角色视觉跟随鼠标 输入框打字时扯脖子瞅 显示密码明文时避开视线 已经有大神(katavii)复刻了动画效果,并在github上开源了:https://github.com/katavii/animated-login ,基于React实现。 如果你的项 ...

前端如何防止用户重复提交表单?4 种可靠方案(附防坑指南)

博主头像 ‍ 写在开头 点赞 + 收藏 学会 别再只靠“禁用按钮”了!真正的防重提交,需要前后端协同。 在电商下单、用户注册、支付发起等关键场景中,用户连点多次“提交”按钮是再常见不过的行为。 轻则造成数据库写入多条重复记录,重则导致用户被扣款两次、库存超卖——这绝不是危言耸听。 那么,前 ...

vue表单vxe-from配置渲染日期范围选择器的用法

在使用 vxe-form 表单配置渲染时,日期范围选择器(VxeDateRangePicker)支持多种数据格式绑定,包括字符串类型、数组类型以及两个独立字段的方式。本文将详细介绍这三种用法的配置方法。 三种数据绑定方式 通过 itemRender.name='VxeDateRangePicker' ...

字体与打印:前端开发最常见的三个“为什么”

博主头像 ‍ 写在开头 点赞 + 收藏 学会 ”浏览器屏幕上看的好好的,为什么打印出来就变了?” 这句话几乎每个做过打印需求的前端开发者都说过。字体被替换、字号失控、图标变方框,这些问题看似玄学,背后却有清晰的技术原因。本文将从打印需求中常遇到的三个问题来解释其背后的原理和对应的解决方法。 ...

90%前端面试必问的12个JS核心,搞懂这些直接起飞!

博主头像 ‍ 写在开头 点赞 + 收藏 学会 你是不是也遇到过这样的场景?面试官抛出一个闭包问题,你支支吾吾答不上来;团队代码review时,看到同事用的Promise链一脸懵逼;明明功能实现了,性能却总是差那么一点... 别慌!今天我整理了12个JavaScript核心概念,这些都是20 ...

做了一个网页天气可视化

博主头像 搜索"网页天气效果",你大概率会找到两类东西:一类是纯 CSS 写的下雨动画,十几行代码,@keyframes 让 div 从上往下飘;另一类是"调用天气 API 展示温度"的教程,跟视觉效果没半点关系。 真正意义上的"沉浸式天气可视化"——雨滴打到界面元素上溅射、雪花堆积在导航栏、镜头光斑随太阳位 ...

手把手教你实现前端邮件预览功能

博主头像 ‍ 写在开头 点赞 + 收藏 学会 你是否曾经想过,在浏览器中直接点击一个邮件附件,就能预览完整的邮件内容——包括发件人、收件人、抄送、正文甚至内嵌图片? 今天,我们要揭秘一个基于 Vue 3 和 Vant UI 的邮件预览上传组件,它不仅能上传 .eml 格式的邮件文件,还能在 ...

vue表格vxe-table实现表头合并,分组表头自定义合并

在开发后台管理系统时,经常会遇到需要展示复杂表格的场景,其中表头合并(多级表头、不规则合并)是一项常见需求。vxe-table 是一款功能强大的 Vue 表格组件,它不仅支持树形分组表头,还提供了自定义列头合并的功能,允许开发者灵活地将任意单元格进行合并,满足各种复杂的表头设计。 形分组表头 vs ...

vue 表格 vxe-table 高亮行支持取消操作

在使用 vxe-table 表格组件时,默认情况下,当用户点击某一行时,该行会高亮显示(即成为当前行),并且无法通过再次点击来取消高亮。这种交互适用于需要始终选中一行的场景。 但在某些业务场景下,可能需要允许用户取消选中当前高亮的行(例如,允许不选中任何行)。vxe-table 提供了灵活的配置来实 ...

不是有video标签吗?为什么还需要视频播放器?

博主头像 ‍ 写在开头 点赞 + 收藏 学会 这是一个非常好的问题!确实,HTML5 提供了原生的 <video> 标签,理论上可以直接播放视频,但为什么在实际项目中我们常常还会使用 Video.js、Plyr、hls.js 等“视频播放器”库呢?原因如下: 一、原生 <video> 的局 ...

告别满屏 v-if:用一个自定义指令搞定 Vue 前端权限控制

博主头像 ‍ 写在开头 点赞 + 收藏 学会 在企业级应用开发中,权限控制是一个绑不开的话题。前端权限控制虽然不能替代后端校验,但能极大提升用户体验——让用户只看到自己能操作的内容,避免无效点击和困惑。 本文将分享一个 Vue 2 自定义指令的设计思路,实现了声明式的权限控制方案。 设计目 ...

为什么有些人边框不用border属性

博主头像 ‍ 写在开头 点赞 + 收藏 学会 1) border 会改变布局(占据空间) border 会参与盒模型,增加元素尺寸。 例如,一个宽度 200px 的元素加上 border: 1px solid #000,实际宽度会变成: 200 + 1px(left) + 1px(righ ...

123···50>