返回顶部
首页 > 资讯 > 精选 >web前端动画专题(2):输入框特效
  • 861
分享到

web前端动画专题(2):输入框特效

2023-06-03 10:06:03 861人浏览 泡泡鱼
摘要

特效一览划线动态:动态边框:划线动态效果图原理和代码:before 和 :after伪元素指定了一个元素文档树内容之前和之后的内容。由于input标签不是可插入内容的容器。所以这里下划线无法通过伪元素来实现。需要借助其他 dom 节点。&l

特效一览

划线动态

web前端动画专题(2):输入框特效

动态边框

web前端动画专题(2):输入框特效

划线动态

效果图

web前端动画专题(2):输入框特效

原理和代码

:before:after伪元素指定了一个元素文档树内容之前和之后的内容。由于input标签不是可插入内容的容器。所以这里下划线无法通过伪元素来实现。需要借助其他 dom 节点。

<div>  <input type="text" />  <span></span></div>WEB前端开发学习Q-q-u-n: 784783012 ,分享开发工具,零基础,进阶视频教程,希望新手少走弯路

包裹在外的父元素div应该设置成inline-block,否则宽度会满屏。

div {  position: relative;  display: inline-block;}

input 标签需要禁用默认样式:

input {  outline: none;  border: none;  background: #fafafa;}

span标签实现「左进右出」的动态,需要改变transfORM-origin方向。为了避免回流重绘,通过scaleX来实现宽度变化的视觉效果。

input ~ span {  position: absolute;  left: 0;  right: 0;  bottom: 0;  height: 1px;  background-color: #262626;  transform: scaleX(0);  transform-origin: right center;  transition: transform 0.3s ease-in-out;}input:focus ~ span {  transform: scaleX(1);  transform-origin: left center;}

动态边框

效果图

web前端动画专题(2):输入框特效

原理和代码

如动态图所示,有 4 条边框。所以除了input元素外,还需要准备其他 4 个 dom。为了方便定位,嵌套一个父级元素。

<div>  <input type="text">  <span class="bottom"></span>  <span class="right"></span>  <span class="top"></span>  <span></div>web前端开发学习Q-q-u-n: 784783012 ,分享开发工具,零基础,进阶视频教程,希望新手少走弯路

和「划线动态」类似,input 和 div 的样式基本一样。为了好看,改一下 padding 属性。

div {  position: relative;  display: inline-block;  padding: 3px;}input {  outline: none;  border: none;  background: #fafafa;  padding: 3px;}

对于其他 4 个 span 元素,它们的位置属性,动画属性,以及颜色都是相同的:

.bottom,.top,.left,.right {  position: absolute;  background-color: #262626;  transition: transform 0.1s ease-in-out;}

对于.bottom 和.top,它们的变化方向是水平;对于.left 和.right,它们的变化方向是垂直。

.bottom,.top {  left: 0;  right: 0;  height: 1px;  transform: scaleX(0);}.left,.right {  top: 0;  bottom: 0;  width: 1px;  transform: scaleY(0);}

下面就是处理延时的特效。动态图中,动画按照下、右、上、左的顺序依次变化。借助的是transition-delay属性,来实现动画延迟。

.bottom {  bottom: 0;  transform-origin: right center;}input:focus ~ .bottom {  transform: scaleX(1);  transform-origin: left center;}.top {  top: 0;  transform-origin: left center;  transition-delay: 0.2s;}input:focus ~ .top {  transform: scaleX(1);  transform-origin: right center;}.right {  transform-origin: top center;  right: 0;  transition-delay: 0.1s;}input:focus ~ .right {  transform: scaleY(1);  transform-origin: bottom center;}.left {  left: 0;  transform-origin: bottom center;  transition-delay: 0.3s;}input:focus ~ .left {  transform: scaleY(1);  transform-origin: top center;}web前端开发学习Q-q-u-n: 784783012 ,分享开发工具,零基础,进阶视频教程,希望新手少走弯路

--结束END--

本文标题: web前端动画专题(2):输入框特效

本文链接: https://lsjlt.com/news/234077.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • web前端动画专题(2):输入框特效
    特效一览划线动态:动态边框:划线动态效果图原理和代码:before 和 :after伪元素指定了一个元素文档树内容之前和之后的内容。由于input标签不是可插入内容的容器。所以这里下划线无法通过伪元素来实现。需要借助其他 dom 节点。&l...
    99+
    2023-06-03
  • web前端怎么实现图片选择题特效
    这篇文章主要介绍“web前端怎么实现图片选择题特效”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web前端怎么实现图片选择题特效”文章能帮助大家解决问题。架构和概念抽象整体的实现思路如下MediaP...
    99+
    2023-07-05
  • 移动web模拟客户端如何实现多方框输入密码效果
    小编给大家分享一下移动web模拟客户端如何实现多方框输入密码效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先看截图吧,大致的...
    99+
    2024-04-02
  • JS如何解决移动web开发手机输入框弹出的问题
    这篇文章主要介绍JS如何解决移动web开发手机输入框弹出的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在移动web开发中和pc端不同的是,手机的输入是软键盘,这样就会有个问题,...
    99+
    2024-04-02
  • 【项目复盘Vue2-移动端】IOS使用Vant表单组件输入框获取焦点后放大页面,安卓软键盘遮挡问题
    一、IOS使用Vant表单组件输入框获取焦点后放大页面问题 使用Vue+Vant做的移动端项目,在登录界面使用Vant的表单组件van-input时发现在真机测试IOS会出现获取焦点输入时会撑大原页面的宽度,每一个输入框获取到焦点就会页面就...
    99+
    2023-09-07
    vue.js 前端 javascript elementui
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作