新闻中心
在css中实现表单输入验证提示
使用CSS伪类:valid和:invalid结合:placeholder-shown可实现无J*aScript的表单验证;通过border颜色变化和伪元素提示反馈输入状态,配合transition提升交互流畅度,适用于轻量级项目。

在 CSS 中实现表单输入验证提示,可以通过结合 HTML5 的表单验证功能和 CSS 伪类来完成。不需要 J*aScript 就能显示简单的错误或成功状态提示,提升用户体验。
使用 :valid 和 :invalid 伪类
HTML5 表单元素在填写不符合规则时会自动标记为无效。CSS 提供了 :valid 和 :invalid 伪类来分别匹配有效和无效的输入状态。
例如,一个必填邮箱输入框:
可以这样添加样式:
input:invalid { border: 2px solid #f44336; /* 红色边框表示错误 */ outline: none; }input:valid { border: 2px solid #4CAF50; / 绿色边框表示正确 / }
配合 :placeholder-shown 控制初始状态
页面刚加载时,如果输入框为空,也会被识别为 :invalid,导致一开始就显示红框。为了避免这种情况,可以结合 :placeholder-shown 来控制只有在用户输入后才触发样式变化。
input:invalid:not(:placeholder-shown) { border-color: #f44336; }input:valid { border-color: #4CAF50; }
这样,
只有当占位符消失(即用户开始输入)后,验证样式才会生效。
Mureka
Mureka是昆仑万维最新推出的一款AI音乐创作工具,输入歌词即可生成完整专属歌曲。
1091
查看详情
添加自定义提示信息(伪元素模拟)
CSS 不能直接操作浏览器默认的提示气泡,但可以用伪元素模拟提示文字。
例如,在输入框下方显示错误提示:
input:invalid:not(:placeholder-shown):focus { border-color: #f44336; }input:invalid:not(:placeholder-shown):focus + .hint { opacity: 1; visibility: visible; }
.hint { position: absolute; background: #f44336; color: white; font-size: 14px; padding: 4px 8px; border-radius: 4px; margin-top: 4px; opacity: 0; visibility: hidden; transition: all 0.3s; }
HTML 结构示例:
请输入有效的邮箱地址增强体验::focus 和过渡动画
加入 :focus 判断可以让提示只在用户聚焦输入框并离开后显示。同时使用 transition 让边框颜色和提示出现更自然。
input { padding: 10px; border: 1px solid #ccc; border-radius: 4px; transition: border-color 0.3s; }基本上就这些。通过合理使用 CSS 伪类和结构,可以在不写 JS 的情况下实现简洁直观的表单验证提示。虽然功能有限,但对于轻量级项目已经足够实用。
以上就是在css中实现表单输入验证提示的详细内容,更多请关注其它相关文章!
# javascript
# seo关键词排名优化seo
# 邯郸seo公司联系13火星
# 策划营销推广手段
# 上海网站建设哪家便宜些
# seo公司收费价格
# 思明短视频推广营销策略
# 怎么开始做seo
# 论坛营销推广方法
# 才会
# 不需要
# 就能
# 也会
# 选择器
# 两种类型
# 中不
# 请输入
# 输入框
# 表单
# red
# 邮箱
# ai
# 浏览器
# 伪元素
# html5
# js
# html
# java
# css
# 公司网站推广 哪苏ad峰i
# 网站推广效果影响的因素
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程
如何在 Windows 11 中启动游戏手柄设置
J*aScript数组对象转换:按指定键分组与值收集
谷歌学术网站直达地址 谷歌学术搜索网页版一键进入
CSS自定义字体样式被系统字体替换怎么办_font-face方式指定font-display控制渲染策略
Golang如何使用const iota_Go iota常量计数器讲解
Python异步编程实践:使用Binance API构建实时交易数据流
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
C++如何实现单例模式_C++设计模式之线程安全的单例写法
QQ邮箱登录首页官网地址2026 QQ邮箱官方网页入口
深入理解Promise链:如何在catch后中断then的执行
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
深入理解J*aScript Promise异步执行与微任务队列
处理嵌套交互式控件:前端可访问性指南
精准捕获:如何在页面中监听除特定元素外的所有点击事件
PHP中获取MongoDB服务器运行时间(Uptime)的专业指南
如何在J*a中使用Locale处理多语言环境
Angular中父组件异步更新子组件复选框状态的实践指南
俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问
怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】
京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比
汽水音乐网页版使用入口_汽水音乐电脑版播放指南
Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换
解决J*aScript中重复选择项的确认对话框显示问题
React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性
漫蛙漫画登录站点 漫蛙2正版漫画快速访问
聚水潭ERP登录页面入口 聚水潭ERP官网登录界面
C++ vector二维数组定义_C++ vector of vector用法
如何将HTML表格多行数据保存到Google Sheet
在Runstone环境中高效处理TasteDive API的JSON数据
菜鸟取件码是什么怎么查 最全查询渠道汇总
批改网学生版PC登录 批改网官网登录系统入口
C++如何解决segmentation fault_C++段错误调试与原因分析
树莓派传感器触发:通过Twilio API发送WhatsApp消息教程
Win11怎么修改默认浏览器_Windows 11设置Chrome为默认
黑猫投诉统一入口官网 消费者权益保护投诉平台
Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程
想当下一个《2077》?《心之眼》Steam评价升至"多半好评"
J*aScript对象创建方式_J*aScript设计模式应用
sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件
CSS条件样式无法按设备触发怎么排查_media条件语句正确设置解决触发问题
Spyder启动失败:字体文件权限拒绝错误解决方案
Win11网速慢怎么解决 Win11网络设置优化解除限速
俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学
C++如何实现一个智能指针_手动实现C++ shared_ptr的引用计数功能
PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐
夸克浏览器网页版最新地址 夸克浏览器官方入口合集


2025-10-31
浏览次数:次
返回列表