前端 CSS 经典:模拟 material 文本框

devtools/2024/10/17 19:58:47/

效果

思路 

定义三个元素,文本框,下划线,占位文字。input 聚焦时通过 ~ 选中兄弟元素,利用 required 属性 + css 中的 valid 验证,判断 input 中是否有输入。写入过渡效果。

实现代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><metaname="viewport"content="initial-scale=1.0, user-scalable=no, width=device-width"/><title>document</title><style>.form-item {width: 200px;height: 30px;margin: 200px auto;position: relative;border-bottom: 2px solid #000;}.form-item input:focus,.form-item input:focus-visible,.form-item input {position: absolute;top: 0;left: 0;border: none;inset: 0;outline: none;}.form-item label {left: 0;top: 0;position: absolute;transition: 0.4s ease;}.form-item .bar {position: absolute;display: block;transform: translate(-50%, -50%);background: #5264ae;transition: 0.4s ease;bottom: -4px;left: 50%;width: 0%;height: 2px;}.form-item input:focus ~ .bar {width: 100%;}.form-item input:valid ~ label,.form-item input:focus ~ label {color: #5264ae;transform: translateY(-30px);font-size: 16px;}</style></head><body><div class="form-item"><input required id="username" type="text" /><span class="bar"></span><label for="username">User Name</label></div><script></script></body>
</html>


http://www.ppmy.cn/devtools/56455.html

相关文章

5G与自动驾驶

上篇&#xff08;5G与4G的区别-CSDN博客&#xff09;讲了4G与5G的区别&#xff0c;大家可以看到5G具备高带宽、低时延的特性&#xff0c;可以广泛应用于各种物联网场景。 今天和大家简单聊聊5G与自动驾驶。 自动驾驶依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同…

ES6中var和let的作用域问题

问题引出&#xff1a;下面的代码输出结果什么&#xff1f; for (var i 0; i < 5; i) {setTimeout(() > {console.log(i);}, 1000); }答案&#xff1a;6个5。 解析&#xff1a;根本原因是在这段代码中&#xff0c;var关键字的作用域是函数作用域。 外层的for循环一共执行…

2024HVV最新POC/EXP,目前有8000+个POC/EXP

点击"仙网攻城狮”关注我们哦~ 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 都是网上收集的POC和EXP&#xff0c;最新收集时间是2024年五月&#xff0c;需要的自取。 表里没有的可以翻翻之前的文章&#xff0c;资源比较零散没有整合起来。 文件链接&#xff…

JS逆向:由 words 、sigBytes 引发的一系列思考与实践

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 在做JS逆向时&#xff0c;你是否经常看到 words 和 sigBytes 这两个属性呢&#xff0c;比如&#xff…

RabbitMQ实践——搭建单人聊天服务

大纲 创建Core交换器用户登录发起聊天邀请接受邀请聊天实验过程总结代码工程 经过之前的若干节的学习&#xff0c;我们基本掌握了Rabbitmq各个组件和功能。本文我们将使用之前的知识搭建一个简单的单人聊天服务。 基本结构如下。为了避免Server有太多连线导致杂乱&#xff0c;下…

C语言单链表的算法之插入节点

一&#xff1a;访问各个节点中的数据 &#xff08;1&#xff09;访问链表中的各个节点的有效数据&#xff0c;这个访问必须注意不能使用p、p1、p2&#xff0c;而只能使用phead &#xff08;2&#xff09;只能用头指针不能用各个节点自己的指针。因为在实际当中我们保存链表的时…

小脚本:文件保存后,自动上传到git

闲来无事写写小脚本 假设已经有一个脚本 echo off:START :: 获取当前脚本的路径 cd /d %~dp0:: 清空提交注释变量的值 set commit_msg:: 提示用户输入提交注释 set /p commit_msg请输入提交注释&#xff08;输入 n 退出&#xff09;::: 如果用户输入内容为 n&#xff0c;则退出…

three.js - matcap材质(MeshMatcapMaterial)

说一下matcap纹理 先总结&#xff1a;MeshMatcapMaterial材质&#xff0c;通过采样含有光照信息的贴图来模拟光照效果。这种材质特别适用于模拟静态光源下的光照&#xff0c;并且&#xff0c;因其简单性和快速性而被广泛应用于各种场景。但是&#xff0c;由于其性能考虑&#x…