CSS - 搜索框小动效

news2024/11/14 15:44:27

在这里插入图片描述在这里插入图片描述

点击搜索框动画变长,搜索框有内容不变,无内容失去焦点,变回原来模样。

 <div :class="type == true ? 's_r_z' : 's_r'" @click="onChange">
     <div class="input_s"><input @blur="handleBlur" v-model="input" required placeholder="请输入关键词搜索" /></div>
     <img src="../../../../assets/images/v_15.png" />
 </div>
 mounted() {
        // 监听全局点击事件
        window.addEventListener('click', this.handleClickOutside);
    },
 beforeDestroy() {
      // 组件销毁前移除监听事件
     window.removeEventListener('click', this.handleClickOutside);
 },
 methods: {
 // 如果点击事件的目标不是打开的div也不是其子元素,则关闭div
 	handleClickOutside(event) {
       if (!this.$el.contains(event.target) && this.type && this.input == '') {
           this.type = false;
       }
   	},
   	onChange() {
       this.type = true
    },
}

.s_r {
        display: flex;
        width: 62px;
        height: 30px;
        background: #E3F1FF;
        border-radius: 20px;
        cursor: pointer;
        margin: 0px 0px 0px 30px;
        margin-top: -7px;
        transition: all 1s ease-in-out;
        -webkit-transition: width 1s;

        img {
            width: 20px;
            height: 20px;
            position: relative;
            left: 20px;
            top: 5px;
        }

        input {
            display: none;
        }
    }

    .s_r_z {
        display: flex;
        justify-content: center;
        align-items: center;

        width: 240px;
        height: 30px;
        background: #E3F1FF;
        border-radius: 20px;
        border: 1px solid #258DEC;
        animation: kx 0.5s;
        margin: 0px 0px 0px 30px;
        margin-top: -8px;
        img {
            width: 20px;
            height: 20px;
        }

        input {
            outline-style: none;
            border: none;
            background-color: #E3F1FF;
            animation: zk 1s;
        }
    }

    @keyframes kx {
        0% {
            width: 0px
        }

        100% {
            width: 240px;
        }
    }

    @keyframes zk {
        0% {
            width: 0px
        }

        100% {
            width: 200px;
        }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QTC++联合编程之解决代码语句块折叠并中文注释代码块

目录&#xff1a; 一&#xff0c;前言二&#xff0c;解决方法2.1直接折叠代码段落&#xff0c;不命名2.2折叠代码段落并注释&#xff08;中/英文&#xff09;命名2.3使用模板 三&#xff0c;参考文章 一&#xff0c;前言 如果从C#或者从其他语言学习过&#xff0c;一定会感叹ID…

Android实习面经整理第一篇

蔚来Android实习面经 一面(2024/3/11 35min) 自我介绍聊我的本专业说一说MVP架构,MVVM架构 MVP:V层持有P层,用户点击View,把数据发给P层,P层持有M层,然后P层把V层的数据发给M层获取其他数据,最后M层获取完数据后把数据还给P层,更新V层。P层也有V层的引用。MVVM:V层…

使用ElementUI + Vue框架实现学生管理系统前端页面设计

目录 一.什么是ElementUI&#xff1f; 二.使用ElementUI和Vue-cli搭建前端页面 三.具体步骤 1.创建vue-cli项目 2.分析 3.创建组件 四.总结 一.什么是ElementUI&#xff1f; ElementUI是一种网站快速成型工具&#xff0c;一套为开发者&#xff0c;设计师准备的基于Vue2.…

江协科技stm32————11-4 SPI通信协议

目录 SPI外设简介 SPI框图 波特率控制 SPE&#xff08;SPI使能&#xff09; 配置主从模式 四种模式的选择 发送和接收数据缓冲区状态 I2C基本结构 1. SPI模式选择 2. 时钟极性和相位&#xff08;CPOL和CPHA&#xff09; 3. 波特率设置 4. 数据帧格式 5. NSS引脚管…

Steam游戏截图方法

Steam游戏截图方法 截图快捷键 Steam游戏自带截图功能&#xff0c;在游戏中无需复杂的快捷键&#xff0c;仅需按下F12快捷键便可立即截图&#xff0c;官方说明如下。下文介绍使用方法。 查看截图 退出游戏后&#xff0c;在Steam界面点击查看 - 截图&#xff0c;即可查看截…

AndroidLogger 适配好了,但没法上架

看到有网友还在用之前的 AndroidLogger 版本&#xff0c;让我感动再次花了 2个月适配新的Notepad&#xff0c;总算搞完了&#xff0c;但是Notepad作者反了&#xff0c;我没法上架啊。 演示视频地址&#xff1a; Notepad安卓日志插件&#xff0c;支持文件管理和截屏&#xff0c…

无需前端技能:如何使用 Amis 框架简化页面开发

Amis 是一个由百度开源的前端低代码框架&#xff0c;它允许开发者通过 JSON 配置文件来快速生成各种后台管理页面。Amis 的设计理念是通过配置而非编码来实现页面的构建&#xff0c;这使得即使是不熟悉前端技术的开发者也能快速上手。Amis 提供了丰富的组件库和模板&#xff0c…

Mqtt消费端实现的几种方式

此处测试的mqtt的Broker是使用的EMQX 5.7.1&#xff0c;可移步至https://blog.csdn.net/tiantang_1986/article/details/140443513查看详细介绍 一、方式1 添加必要的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr…

蒸馏之道:如何提取白酒中的精华?

在白酒的酿造过程中&#xff0c;蒸馏是一道至关重要的工序&#xff0c;它如同一位技艺精细的炼金术士&#xff0c;将原料中的精华提炼出来&#xff0c;凝聚成滴滴琼浆。今天&#xff0c;我们就来探寻这蒸馏之道&#xff0c;看看豪迈白酒&#xff08;HOMANLISM&#xff09;是如何…

Linux 学习之路 - 信号的保存

前面已经介绍过信号的产生&#xff0c;本文将继续介绍信号的保存与处理。 1、上篇文章的遗留问题 从上篇文章(Linux学习之路 -- 信号概念 && 信号的产生-CSDN博客)中&#xff0c;其实还遗留了一些问题。OS在接受到信号后&#xff0c;大部分的进程的处理方式都是终止进…

合宙低功耗4G模组Air780E——产品规格书

Air780E 是合宙通信推出的 LTE Cat.1 bis通信模块&#xff1b; 采用移芯EC618平台&#xff0c;支持 LTE 3GPP Rel.13 技术。 Air780E特点和优势总结如下&#xff1a; 全网通兼容性&#xff1a; 作为4G全网通模块&#xff0c;兼容不同运营商网络&#xff0c;包括但不限于移动、…

【C++ Primer Plus习题】10.1

问题: 解答: main.cpp #include <iostream> #include "BankAccount.h" using namespace std;int main() {BankAccount BA1("韩立","韩跑跑",1);BA1.get_info();BankAccount BA;BA.init_account("姚国林", "amdin", 1…

国际化产品经理的挑战与机遇:跨文化产品管理的探索

全球化背景下的产品管理变革 在当今全球化的背景下&#xff0c;科技的进步和通信技术的普及&#xff0c;使得世界变得更加紧密相连。产品不再仅仅局限于单一市场&#xff0c;而是面向全球用户&#xff0c;这对产品经理提出了新的挑战与机遇。跨文化的产品管理要求产品经理不仅…

09-03 周二 ansible部署和节点管理过程

09-03 周二 ansible部署和节点管理过程 时间版本修改人描述2024年9月3日10:08:58V0.1宋全恒新建文档&#xff0c; 简介 首先要找一个跳板机&#xff0c;来确保所有的机器都可以访问。然后我们围绕ansible来搭建环境&#xff0c;方便一键执行所有的命令&#xff0c;主要的任务是…

通信算法之232: 无线发射功率和信号强度,常用单位dB、dBm、dBi和dBd介绍

[转载] 无线功率和信号强度的基本概念 在无线网络中&#xff0c;使用AP设备和天线来实现有线和无线信号互相转换。如下图所示&#xff1a; 有线网络侧的数据从AP设备的有线接口进入AP后&#xff0c;经AP处理为射频信号&#xff0c;从AP的发送端&#xff08;TX&#xff09;经过…

JAVA-JVM 内存模型类加载器GC算法GC调优

JAVA-JVM 内存模型&类加载器&GC算法&GC调优 什么是JVM JVM 内存模型 JVM的GC算法 JVM类加载器 什么是JVM ? [[jvm]]是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一个虚构出来的计算机&#xff0c;有着自己完善的硬件架构&a…

Qwen-7B-Chat大模型安装训练推理-helloworld

初始大模型之helloworld编写 开发环境&#xff1a;modelscope GPU版本上测试的&#xff0c;GPU免费36小时 ps:可以不用conda直接用环境自带的python环境使用 魔搭社区 安装conda wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 1.2 bash Mini…

港科夜闻 | 香港科大举办开学嘉年华,叶玉如校长勉励新生发掘潜能传承凡事皆可为精神...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大举办开学嘉年华&#xff0c;叶玉如校长勉励新生发掘潜能传承「凡事皆可为」精神。迎接新学年&#xff0c;香港科大于9月2日起举行为期两天的开学嘉年华「Fire Up Your Year」&#xff0c;校长叶玉如教授联同一众…

AI写作保姆级方法论第六节-AI的终极调教心法(问题+解决方案)

效果是什么 大象基于大量的实战经验&#xff0c;总结出了AI prompt调教的终极杀手锏&#xff1a;【终极调教心法&#xff1a;1个原则和3个技巧】 一个原则&#xff0c;是指AI的【角色扮演法】&#xff0c;openai官方基于AI原理给出的让AI听话的技巧。所有AI的使用玩法&#xff…

Leetcode3250. 单调数组对的数目 I

Every day a Leetcode 题目来源&#xff1a;3250. 单调数组对的数目 I 解法1&#xff1a;记忆化搜索 题目输入一个数组nums。 假设有两个数组A和B&#xff0c;A递增&#xff0c;B递减&#xff0c;且 Ai Bi numsi ​ 问有多少对(A,B)数组对。 解法&#xff1a; 代码&…