【CSS动画04--input输入动画】

简介: 【CSS动画04--input输入动画】

image.png

CSS动画04--input输入框

介绍

此动画是当点击input框内部外部不同的动画,以上是鄙人录制得一个小视频,供大家参考,🤭

代码

HTML

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
    <title>input输入动画</title>
    <link rel="stylesheet" href="./css/4.css">
</head>
<body>
    <div class="wrapper">
        <div class="input-data">
            <input type="text" required>
            <div class="underline"></div>
            <label>请输入内容:</label>
        </div>
    </div>
</body>
</html>

CSS

*{
    margin: 0;
    padding: 0;
    outline: none;
    /* 这个属性是告诉浏览器:你想要设置的边框和内边距的值是包含在总宽高内的 */
    box-sizing: border-box;
}
body{
    /* 弹性布局 水平垂直居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 设置body最小高度为100%窗口高度 */
    min-height: 100vh;
    /* 渐变背景 */
    /* background: linear-gradient(200deg,#0c3483,#a2b6df); */
    background: linear-gradient(200deg,#ddd6f3,#faaca8);
    /* 200deg,#ddd6f3,#faaca8 */
}
.wrapper{
    width: 450px;
    background-color: #fff;
    /* 内边距(上下左右) */
    padding: 40px;
    /* 盒子阴影 */
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
    /* 圆角 */
    border-radius: 8px;
}
.wrapper .input-data{
    /* 相对定位 */
    position:relative;
    width: 100%;
    height: 40px;
}
.wrapper .input-data input{
    width: 100%;
    height: 100%;
    border:none;
    font-size: 17px;
    border-bottom: 2px solid #c0c0c0;
}
/* 输入框获得焦点时 */
.wrapper .input-data input:focus ~ label,
/* 输入框的值为合法时 */
.wrapper .input-data input:valid ~ label{
    /* label上移,同时改变字号、字体颜色 */
    transform: translateY(-25px);
    font-size: 15px;
    /* color: #2c6fdb; */
    color: #faaca8;
}
.wrapper .input-data label{
    /* 绝对定位 */
    position: absolute;
    bottom: 10px;
    left: 0px;
    color: #808080;
    /* 这个属性可以使点击label穿透到输入框 */
    pointer-events: none;
    /* 现在动画有点生硬,在这里需要给动画加个过渡 */
    transition: all 0.3s ease;
}
.wrapper .input-data .underline{
    position: absolute;
    bottom: 0px;
    height: 2px;
    width: 100%;
    /* background-color: #2c6fdb; */
    background-color: #faaca8;
    /* 沿X轴缩小 */
    transform: scaleX(0);
    /* 这里同样给动画加个过渡 */
    transition: all 0.3s ease;
}
.wrapper .input-data input:focus ~ .underline,
.wrapper .input-data input:valid ~ .underline{
    /* 沿X轴放大 */
    transform: scaleX(1);
}
相关文章
|
12天前
|
前端开发
css 实现一笔画动画(如签名、手写、手绘等)
css 实现一笔画动画(如签名、手写、手绘等)
16 8
|
12天前
|
前端开发
css动画(仿微信聊天页面)
css动画(仿微信聊天页面)
|
13天前
|
前端开发 JavaScript
纯css动画 —— 展开、收起
纯css动画 —— 展开、收起
15 2
|
13天前
|
前端开发
css特效动画——页面加载中 ...
css特效动画——页面加载中 ...
8 1
|
14天前
|
前端开发 JavaScript 开发者
学习CSS动画的高级技巧
【7月更文挑战第1天】学习CSS动画的高级技巧
12 2
|
14天前
|
前端开发 开发者
通过实践来提升CSS动画技能是非常重要的
【7月更文挑战第1天】通过实践来提升CSS动画技能是非常重要的
13 1
|
14天前
|
前端开发 JavaScript 开发者
如何学习CSS动画?
【7月更文挑战第1天】如何学习CSS动画?
14 1
|
9天前
|
前端开发 JavaScript
CSS【实战】抽屉动画
CSS【实战】抽屉动画
7 0
|
12天前
|
前端开发
css特效动画——转圈的加载动画
css特效动画——转圈的加载动画
9 0
|
12天前
|
前端开发 JavaScript UED
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
16 0