当前位置: 首页 > news >正文

CSS3实现的账号密码输入框提示效果

以下是通过CSS3实现输入框提示效果的常用方法,包含浮动标签和动态提示两种经典实现方案:

一、浮动标签效果

<div class="input-group"><input type="text" required><label>用户名</label>
</div><style>
.input-group {position: relative;margin: 20px;
}input {width: 100%;padding: 10px;border: 2px solid #ccc;border-radius: 4px;transition: border-color 0.3s;
}input:focus {outline: none;border-color: #2196F3;
}label {position: absolute;left: 10px;top: 50%;transform: translateY(-50%);color: #999;pointer-events: none;transition: 0.3s;
}input:focus + label,
input:valid + label {top: -10px;left: 5px;font-size: 12px;color: #2196F3;background: white;padding: 0 5px;
}
</style>

二、动态提示效果

<input type="password" placeholder=" "> <!-- 留空占位符 -->
<div class="hint">请输入6-20位字符</div><style>
input {width: 100%;padding: 12px;border: 1px solid #ddd;transition: 0.3s;
}input:focus {border-color: #4CAF50;box-shadow: 0 0 8px rgba(76,175,80,0.3);
}/* 自定义占位符效果 */
input::placeholder {color: transparent;
}.hint {position: absolute;opacity: 0;transform: translateY(10px);transition: 0.3s;color: #666;font-size: 12px;
}input:focus ~ .hint {opacity: 1;transform: translateY(5px);
}
</style>

三、验证状态反馈

/* 有效状态 */
input:valid {border-color: #4CAF50;
}/* 无效状态 */
input:invalid {border-color: #f44336;animation: shake 0.3s;
}@keyframes shake {0%, 100% { transform: translateX(0); }25% { transform: translateX(5px); }75% { transform: translateX(-5px); }
}

关键实现原理:

  1. 使用:focus伪类控制聚焦状态样式
  2. 通过transition实现平滑动画过渡
  3. 利用相邻兄弟选择器(+)和通用兄弟选择器(~)关联提示元素
  4. :valid:invalid伪类实现自动验证反馈
  5. 绝对定位实现标签位置变换
  6. 透明占位符配合自定义提示布局

这些方案无需JavaScript即可实现动态交互效果,具有以下优势:

  • 提升表单可用性
  • 增强视觉引导
  • 即时反馈输入状态
  • 减少页面跳跃感
  • 兼容现代浏览器(需加前缀适配旧版)

相关文章:

  • [CSS3]vw/vh移动适配
  • Hadoop复习(一)
  • AWS WebRTC:获取ICE服务地址(part 1)
  • 2025.05.28【Choropleth】群体进化学专用图:区域数据可视化
  • day023-面试题总结
  • 中企出海大会|打造全球化云计算一张网,云网络助力中企出海和AI创新
  • 智能手表怎么申请欧盟EN 18031认证
  • Building Android Kernels with Bazel
  • Eclipse 插件开发 5.2 编辑器 获取当前编辑器
  • 1.2 掌握CSS样式表
  • style scoped作用域
  • MySQL8.4主从复制
  • Android 云手机横屏模式下真机键盘遮挡输入框问题处理
  • pycharm生成图片
  • 力扣-找到字符串中所有字母异位符
  • 力扣面试150题--二叉树的最近公共祖先
  • JWT安全:假密钥.【签名随便写实现越权绕过.】
  • 动态规划-LCR 091.粉刷房子-力扣(LeetCode)
  • Vim文本编辑器快捷键用法以及简单介绍
  • 【前端】PWA
  • 厦门建设网站/台州网站建设
  • 政府网站设计模板/万网官网域名注册
  • 国内最大的网站建设公司排名/如何创建一个app
  • 长沙百度网站推广/成品短视频app下载有哪些
  • 有哪些可以建设网站的单位/深圳网站seo外包公司哪家好
  • 用旧手机做网站服务器/软文世界官网