分步指南 - 带动画的输入

分步指南 - 带动画的输入

HTML

对于 HTML,我们需要一个带有输入的容器和带有“编辑”svg 的按钮。

单击按钮将触发切换。

 <div class="container">  
 <input type="text" class="input">  
 <button onclick="toggle()" class="edit">  
 <svg  
 xmlns="http://www.w3.org/2000/svg"  
 高度=“15”  
 填充=“无”  
 视图框="0 0 24 24"  
 中风="#02a8f4"  
 行程宽度=“2”>  
 <path  
 笔画线帽=“圆形”  
 笔划线加入=“圆形”  
 d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" />  
 </svg>  
 </button>  
 </div>

Javascript

对于 javascript,我们将有一个存储按钮状态(编辑模式与否)的变量,我们将创建一个切换函数。

首先,我们将选择所有元素(按钮、输入和容器)并将编辑模式设置为与原来相反的模式(edit = !edit)。

现在,如果 edit 为真,我们将按钮的 svg 更改为检查图标,我们将聚焦输入并将“活动”类设置为它,我们将容器的边框颜色更改为浅绿色。

如果 edit 为 false,我们将按钮的 svg 设置回编辑图标并删除“活动”类,并将容器的背景颜色设置回蓝色。

 让编辑=假 功能切换(){  
 让 btn = document.getElementsByClassName('edit')[0]  
 让输入 = document.getElementsByClassName('input')[0]  
 让容器 = document.getElementsByClassName('container')[0] 编辑=!编辑 如果(编辑){  
 btn.innerHTML = `  
 <svg xmlns="http://www.w3.org/2000/svg" height="15" fill="none" viewBox="0 0 24 24" stroke="#32ffcc" stroke-width="2">  
 <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" />  
 </svg>`  
 输入.焦点()  
 input.classList.add('active')  
 container.style.borderColor = '#32ffcc'  
 } 别的 {  
 btn.innerHTML = `  
 <svg xmlns="http://www.w3.org/2000/svg" height="15" fill="none" viewBox="0 0 24 24" stroke="#02a8f4" stroke-width="2">  
 <path stroke-linecap="round" stroke-linejoin="round" d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" />  
 </svg>`  
 input.classList.remove('活动')  
 container.style.borderColor = '#02a8f4'  
 }  
 }

CSS

对于 CSS,首先我们将为容器设置样式。我们将边框设置为蓝色,半径为 15 像素。

然后我们将使用 flexbox 对齐内部元素,并添加一些填充。

 。容器 {  
 边框:1px 实心#02a8f4;  
 显示:弯曲;  
 边框半径:15px;  
 填充:5px;  
 }

对于按钮,我们将 paddings 设置为 0,并通过将 border 属性设置为 none 来删除默认边框。

我们还将删除默认背景颜色并将其设置为透明。

现在,我们将光标设置为指针,并使用 flexbox 在按钮的中心显示 svg。

 按钮 {  
 填充:0;  
 边框:无;  
 背景颜色:透明;  
 光标:指针;  
 显示:弯曲;  
 证明内容:中心;  
 }

现在我们将为输入设置样式。我们将 paddings 和 width 设置为 0。这是非活动按钮的样式。

我们将背景属性设置为透明并删除默认边框并将其设置为 15 px 半径。

另外,让我们删除轮廓并添加一点过渡。

 。输入 {  
 填充:0;  
 宽度:0;  
 背景颜色:透明;  
 边框:无;  
 边框半径:15px;  
 大纲:无;  
 过渡:0.5s;  
 }

现在是“活跃”类。当按钮处于活动状态时,此类将附加到输入元素。

我们将宽度设置为 100 像素(记住在我们将其设置为 0 之前)并添加一些 X 填充和右边距(输入和 svg 之间的一点空间)。

我们将添加一点过渡。

 。积极的 {  
 宽度:100px;  
 填充:0 5px;  
 右边距:5px;  
 过渡:0.5s;  
 }

就是这样。

您可以找到视频教程和完整代码 这里 .

那你读书。 ❤️

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/38524/02422210

posted @ 2022-09-22 10:03  哈哈哈来了啊啊啊  阅读(31)  评论(0编辑  收藏  举报