整活系列(三)——做一个动态搜索框

简介: 动态的搜索框已经不是什么稀有的东西了,因为它的**动**,它可以出现在任何符合它位置的地方。
大家好,我是Ned👀,一个刚刚入门前端未满两年的大三小学生🌹

未来路还长🎉, 一起努力加油吧❤~

前言

动态的搜索框已经不是什么稀有的东西了,因为它的,它可以出现在任何符合它位置的地方。

今天咱也来整一个,看看效果?

动态搜索框效果图.gif

大致就是最开始显示的是一个图标,鼠标移动上去的话,它就变成了正常搜索框的样子可以进行输入并搜索。

来看一下如何实现的!

开始整活

整体HTML就是一个div套着一个input跟一个aa标签中放icon,我是复制的svg

        <div class="search-box">
            <input class="search-txt" type="text" placeholder="动态搜索框">
            <a class="search-btn">
            <!--这里是icon,我放的svg-->
            </a>
        </div>

在这个上面,我这里利用的是hover效果,看上面动图也能看出来,鼠标移动上去它就变长,移开他就还原了,同时将按钮的颜色更改一下是为了让用户的体验提升一点。

总体上来说,利用css中的hover,改变width,达成长度变化的效果。

    body{
        margin: 0;
        padding: 0;
        /* background: #e94118; */
        background-color: #FF670F;
    }
    .search-box{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        background: #2f3640;
        height: 40px;
        border-radius: 40px;
        padding: 10px;
        display: flex;
        justify-content: center;
    }
    .search-box:hover>.search-txt{
        width: 200px;
        padding: 0 6px;
    }
    .search-box:hover>.search-btn{
        background: white;
    }
    .search-btn{
        float: right;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #2f3640;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: 0.4s;
    }
    .search-txt{
        border: none;
        background: none;
        outline: none;
        float: left;
        padding: 0;
        color: white;
        font-size: 16px;
        transition: 0.4s;
        line-height: 40px;
        width: 0px;
    }

好像还有别的

还有一种与这种不一样的动态的是,点击下去它产生变化,不明白我说的什么意思的可以去首页点击一下掘金右上的input。

点击前:
image.png
点击后:
image.png
这种效果我记得之前有一位大佬已经分析过了,所以我就不多做阐述了呀~

最后

CSS的魅力真的是太大了,这不,之前看战场小包大佬折的小鸟,我最近也想折一只了害,努力学习吧!

相关文章
|
JavaScript 前端开发 定位技术
|
10月前
|
存储
【 uniapp - 黑马优购 | 搜索框 】如何实现自定义搜索组件、搜索建议、搜索历史
【 uniapp - 黑马优购 | 搜索框 】如何实现自定义搜索组件、搜索建议、搜索历史
506 0
|
小程序
小程序酷炫动态登录页源码(动态水滴)
小程序酷炫动态登录页源码(动态水滴)
168 0
|
小程序
小程序实战之搜索框组件的封装与模糊搜索的实现
点击搜索框,跳转到搜索页,输入搜索词,可以获取到相关信息并渲染,从设计上来讲,整个需求需要拆分为两个核心步骤即搜索框组件封装与模糊搜索,下面将从这两部分来讲。
351 0
小程序实战之搜索框组件的封装与模糊搜索的实现
|
Android开发 索引 iOS开发
第二十四章:页面导航(十七)
像现实生活中的应用程序理想情况下,用户在终止并重新启动应用程序时不应该知道。应用程序体验应该是连续且无缝的。即使程序没有一直运行,一个半月进入的条目从未完成也应该在一周后处于相同的状态。NoteTaker程序允许用户记录由标题和一些文本组成的注释。
535 0
|
XML JSON Android开发
第二十四章:页面导航(十五)
保存和恢复页面状态特别是当您开始使用多页面应用程序时,将应用程序的页面视为数据的主要存储库非常有用,而仅仅是作为底层数据的临时可视化和交互式视图。这里的关键词是暂时的。如果您在用户与之交互时保持基础数据是最新的,那么页面可以显示和消失而不必担心。
642 0
|
JavaScript Android开发
第二十四章:页面导航(十四)
切换到ViewModel此时应该很明显,Information类应该真正实现INotifyPropertyChanged。 在DataTransfer5中,Information类已成为InformationViewModel类。
592 0
|
JavaScript Android开发 索引
第二十四章:页面导航(十三)
App类中介在Xamarin.Forms应用程序中,在公共代码项目中执行的第一个代码是通常名为App的类的构造函数,该类派生自Application。 在程序终止之前,此App对象保持不变,并且程序中的任何代码都可以通过静态Application.Current属性使用它。
499 0
|
Android开发 索引
第二十四章:页面导航(十二)
事件在方法调用方法和消息中心通信方法中,信息页面需要知道主页的类型。 如果可以从不同类型的页面调用相同的信息页面,这有时是不合需要的。这个问题的一个解决方案是info类实现一个事件,这就是DataTransfer3中采用的方法。
499 0
|
Android开发 索引
第二十四章:页面导航(十一)
消息中心您可能不喜欢两个页面类直接相互调用方法的想法。 它似乎适用于小样本,但对于具有大量类间通信的大型程序,您可能更喜欢一些不需要实际页面实例的更灵活的东西。这样的工具是Xamarin.Forms MessagingCenter类。
541 0