新闻中心
如何在CSS中使用:focus与::after制作输入框提示_通过:focus ::after显示辅助提示
利用CSS的:focus与::after伪元素可实现输入框聚焦时的提示效果;2. 推荐使用父容器结合:focus-within与::after显示提示内容;3. 也可通过相邻兄弟选择器使聚焦后兄弟元素显示提示;4. 注意定位、层级及移动端适配,复杂场景仍需J*aScript。

当用户点击输入框时,我们常需要显示一些辅助提示信息。利用CSS的 :focus 和 ::after 伪元素,可以不借助J*aScript实现简单的视觉提示效果。
基本原理::focus 与 ::after 的结合
:focus 是一个动态伪类,用于选中获得焦点的表单元素(比如 input)。::after 是一个伪元素,可在元素内容后插入装饰性内容。虽然 ::after 不能直接添加在表单控件上显示内容(因为 input 不支持子元素),但我们可以通过给 input 的父容器使用 ::after 来绕过这个限制。
常见做法是将 input 包裹在一个容器内,在容器上使用 :focus-within 或对 input 使用 :focus 配合相邻兄弟选择器来触发提示。
方法一:使用父容器 + :focus-within + ::after
这是最推荐的方式,语义清晰且兼容性良好(现代浏览器支持)。
- 用一个 div 包裹 input
- 对 div 使用 :focus-within 判断内部是否有元素聚焦
- 通过 ::after 显示提示文本或图标
示例代码:
Kreado AI
Kreado AI是一个多语言AI视频创作平台,只需输入文本或关键词,即可创作真实/虚拟人物的多语言口播视频。 为创作者提供AI赋能
182
查看详情
<div class="input-tip-container"> <input type="text" placeholder="请输入用户名"> </div><div class="input-tip-container"> <input type="text" placeholder="请输入用户名"> </div>
方法二:使用相邻兄弟选择器 + :focus + ::after
如果提示信息放在 input 后面的另一个元素中(如 span),可通过 :focus + ::after 控制其显示。
- input 获得焦点时,触发其后的兄弟元素显示
- 用 ::after 添加提示内容
- 初始状态隐藏,聚焦时显示
示例代码:
<div> <input type="password" id="pwd"> <span class="tip-span"></span> </div>
注意事项与优化建议
这类纯CSS提示适合轻量级交互,但有几点需要注意:
- ::after 只能用于支持伪元素的容器,input[type=text] 本身无法使用 ::after 插入内容
- 提示位置建议用绝对定位控制,避免影响布局
- 移动端注意气泡是否被遮挡,可加 z-index 提高层级
- 对于复杂提示(如多行、按钮),仍建议使用 J*aScript 控制显隐
基本上就这些,不复杂但容易忽略细节。合理使用 :focus 和 ::after,可以在不增加JS的情况下提升表单的可用性。
以上就是如何在CSS中使用:focus与::after制作
输入框提示_通过:focus ::after显示辅助提示的详细内容,更多请关注其它相关文章!
# 请输入
# pushstate seo
# all in one seo破解
# 舟山网站推广 溦訫hfqjwl广告稳定
# 天山区网站产品推广价值
# 建材网站推广方法
# 万能优化小说网站下载
# 网站优化建议报告
# 济宁网站建设与开发培训
# 湛江seo如何优化
# 戴森卷发棒营销推广
# 多语言
# 中不
# 如何在
# 提示信息
# 表单
# css
# 选择器
# 输入框
# 是一个
# 关键词
# 绝对定位
# 移动端适配
# ai
# 浏览器
# 伪元素
# js
# java
# word
# javascript
# :focus
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
ACG动漫视频网入口 ACG动漫*免费正版观看地址
品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程
印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】
J*aScript中针对特定容器内图片动画的实现教程
BetterDiscord插件中安全更新用户简介的实践指南
Go语言中的*string:深入理解字符串指针
服务端验证_j*ascript输入检查
c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧
Django通过AJAX异步上传图片并保存至模型的完整指南
Win11怎么开启高性能模式_Windows 11电源计划优化设置
理解Python模块与全局变量的作用域管理
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口
蛙漫安全无毒 官方认证的绿色入口
C#使用XPath查询节点时出错? 常见语法错误与调试技巧
Pandas DataFrame:高效添加条件计算列
J*aScript设计模式实践_j*ascript代码优化
Go Martini框架:动态服务解码后的图片内容
汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口
高德地图公交到站提醒失败如何解决 高德提醒权限设置
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
解决 Express.js 中 PUT 请求密码修改失败的路由配置指南
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧
mc.js游戏直达 mc.js网页免下载版本秒进地址
CSS布局中意外空白:解决padding-top导致的顶部间距问题
在Pyomo中实现基于变量的条件约束:Big-M方法详解
蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】
蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版
ArrayList与LinkedList操作复杂度详解:遍历与修改
苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】
如何在 Excel Online 和 Google 表格中更改日期格式
铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧
邮政编码查询不到怎么办_邮政编码查询不到的常见原因与对策
深入理解Go语言中的指针类型:以*string为例
cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法
支付宝如何设置安全保护_支付宝安全设置的全面教程
CSS Grid如何控制元素对齐_align-items与justify-items组合使用
谷歌邮箱注册显示错误Gmail服务器异常与延迟处理
LINUX的perf命令入门_LINUX官方性能分析工具的使用与解读
文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】
qq浏览器如何查看和导出已保存的密码 qq浏览器密码管理器数据备份教程
漫蛙2网页版漫画入口 漫蛙漫画在线官方登录
网易大神怎么保存别人动态的图片_网易大神动态图片保存方法
微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法
修复二维数组索引越界异常:一维循环到二维坐标的正确映射
2025-2030年全球乘用车销量预测:新能源成增长主力
德邦快递查询平台 德邦快递物流信息查询入口
汽水音乐网页版使用入口_汽水音乐电脑版播放指南
c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析


2025-11-21
浏览次数:次
返回列表