HOVER · 悬停交互
参数调改
PLAYGROUND
强调色--accent
输入文字色--text_color
标签静默色--muted_color
聚焦线粗细--line_h
14
动画时长--dur_ms
120700
输入框底色--bg
实现要点
NOTES- 01
浮动标签的判据是 :placeholder-shown:placeholder 设为一个空格,输入框为空时标签停在第 4 行位置,有值或聚焦时用 :not(:placeholder-shown) / :focus 上浮——这是不依赖 JS 的经典方案(placeholder 空格不能省)。
- 02
底线是两层叠加:input 自带的 1px 静态灰 border 之上,彩色渐变线伪元素 scaleX(0→1) 从中心展开;只动 transform,展开收合全程合成器路径。
- 03
标签上浮用 translateY(-20px) scale(0.72) 组合且 transform-origin:left top,缩小后与输入文字顶部对齐;颜色分两档:有值灰、聚焦强调色。
- 04
label 包裹 input 使点击标签也能聚焦输入框;所有动效状态由 CSS 伪类驱动,零 JS 依赖;:has() 方案作为等价增强一并列出,便于在复杂 DOM 结构(input 与 label 不相邻)时使用。
- 05
caret-color 同步强调色,聚焦时输入光标与底线同色,细节统一。
- 06
reduced-motion:上浮与展线过渡压到 0.01ms,状态仍正确切换(标签位置、线条有无不受影响)。
源代码
SOURCE
加载源代码…