首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

需要一些帮助开发一个垂直搜索栏,从中间开始,并移动到两边。[50,0,50]

要开发一个垂直搜索栏,从中间开始并向两边移动,你可以使用HTML、CSS和JavaScript来实现这个效果。以下是一个简单的示例,展示了如何创建这样的搜索栏。

HTML结构

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vertical Search Bar</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="search-container">
        <input type="text" class="search-input" placeholder="Search...">
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS样式

代码语言:txt
复制
/* styles.css */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #f0f0f0;
}

.search-container {
    position: relative;
    width: 300px;
    height: 50px;
    overflow: hidden;
}

.search-input {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    border: none;
    border-radius: 25px;
    outline: none;
    font-size: 16px;
    transition: width 0.3s ease-in-out;
}

.search-input:focus {
    width: 100%;
}

JavaScript逻辑

代码语言:txt
复制
// script.js
document.querySelector('.search-input').addEventListener('focus', function() {
    this.style.width = '100%';
});

document.querySelector('.search-input').addEventListener('blur', function() {
    this.style.width = '50%';
});

解释

  1. HTML结构:创建一个包含输入框的容器。
  2. CSS样式
    • search-container:设置容器的基本样式,使其居中并隐藏溢出部分。
    • search-input:设置输入框的初始位置为容器的中间,并添加过渡效果。
  • JavaScript逻辑
    • 当输入框获得焦点时,将其宽度设置为100%,使其从中间扩展到两边。
    • 当输入框失去焦点时,将其宽度恢复为50%,使其回到中间位置。

应用场景

这种垂直搜索栏适用于需要在页面中间提供一个突出显示的搜索功能的场景,例如:

  • 电子商务网站的产品搜索。
  • 社交媒体平台的内容搜索。
  • 新闻网站的文章搜索。

可能遇到的问题及解决方法

  1. 输入框宽度变化不平滑
    • 确保CSS中的transition属性设置正确。
    • 检查JavaScript事件监听器是否正确绑定。
  • 输入框位置不正确
    • 确保CSS中的positiontransform属性设置正确。
    • 检查HTML结构是否正确。

通过以上步骤,你可以创建一个从中间开始并向两边移动的垂直搜索栏。希望这个示例对你有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS Margin中5个经典布局解决方案,重难点知识,记得收藏复习

margin 纵向重叠(合并)问题 元素垂直排列时,第一个元素的下外边距与第二个元素的上外边距会发生合并,合并后的间距就是两者中最大的那个值。...时,如:图 2 当.container .box1中同时设置margin-top:-100px; 和margin-bottom:-100px;时,如:图 3 3、经典布局:圣杯布局 这种布局的优点: 中间内容最重要...class="right fl">右边 底部 4、经典布局:双飞翼布局 这种布局的优点: 中间内容最重要...一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。学习一开始就进入工作状态,省得浪费时间。...学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范 蓝湖UI设计稿 到 PC端,移动端

1.1K11

Win系统好软推荐

它使用Windows UIAutomation监视位置更改计算新位置以使任务项目居中。 命令行参数 第一个命令行参数在活动图标更改期间以赫兹为单位设置刷新率。默认60。...任务添加或删除图标时,图标将移动到中心或用户指定的位置。您可以选择在各种不同的动画之间进行选择更改其速度。如果您不喜欢动画希望它们立即移动,则可以禁用动画。...当前支持所有任务设置,包括垂直任务和无限任务。TaskbarX自2018年5月6日开始开发。也称为FalconX和Falcon10。...-lr = 400将设置循环程序/任务检查器的刷新率。 -cib = 1将在开始搜索等与任务之间设置主要任务的位置。当添加或删除托盘图标时, -ftotc = 1将更新任何工具。...如果您收到以下错误,则说明如何解决该错误: 在您的开始菜单中搜索“ Task Scheduler ”。 在左侧菜单上,单击“ 任务计划程序库 ”。中间将出现一个列表。

1.5K40
  • 【总结】vim命令使用总结,该来的还是躲不掉啊晕

    写在前面 曾经我也天真的觉得如今很多软件都可以充当文本编辑器,像vim上手这么麻烦的可以替代 但随着工作内容有需要在服务器上操作,不支持UI,这时候vim就显得格外重要,其实记住一些常用命令就行,没那么难...命令大全,最详细(建议收藏) 光标的移动 h - 左移光标 j - 下移光标 k - 上光标 l - 右移光标 gj - 下移光标(折行文本) gk - 上光标(折行文本) H - 移动到当前页面顶部...M - 移动到当前页面中间 L - 移动到当前页面底部 w - 移动到下个单词开头 W - 移动到下个单词开头(单词含标点) e - 移动到下个单词结尾 E - 移动到下个单词结尾(单词含标点) b...I - 行首开始插入字符 a - 光标后开始插入字符 A - 行尾开始插入字符 o - 在当前行之下另起一行, 开始插入字符 O - 在当前行之上另起一行, 开始插入字符 ea - 当前单词末尾开始插入...(最左垂直视窗) Ctrl + wL - 使游标所在视窗全高移至最右 (最右垂直视窗) Ctrl + wJ - 使游标所在视窗全宽移至最下 (最下水平视窗) Ctrl + wK - 使游标所在视窗全宽移至最上

    53321

    100 条 Linux vim 命令备忘单,收藏起来随时备用!

    强行写入当前文件退出 插入命令备忘单 a 在光标后插入 A 在行尾插入 i 在光标前插入 I 在行中的第一个非空白之前插入 gI 在第 1 列中插入 o 在光标下方开始新行插入 O 在光标上方开始新行插入...r替换单个字符(返回命令模式) cc替换整行(删除该行并进入插入模式) C/ c$光标处替换到行尾 cw光标处替换到词尾 s删除一个字符(并进入插入模式) J将下面的行合并到当前行,它们之间有一个空格...移动到屏幕顶部(H=high) M移动到屏幕中间(M=middle) L移动到屏幕底部(L=low) 搜索和替换命令备忘录 / 向前搜索 ?...向后搜索 * 向前搜索光标下的单词 # 向后搜索光标下的单词 r 替换光标位置的单个字符 R 替换光标位置开始的字符 cc 替换整行 :%s/search/replace/g 用replace替换每次出现的搜索...有时候处理一个文本,不用一些快捷键可能需要几分钟才能完成,但是一旦你用了快捷键,可能数秒内就可以实现,所以工欲善其事,必先利其器这句话还是有道理的。

    1.5K20

    css布局使用

    三列布局的特征是两侧两列固定宽度,中间列自适应宽度。 之所以将二列布局和三列布局写在一起,是因为二列布局可以看做去掉一个的三列布局,其布局的思想有异曲同工之妙。...######a. float+margin **原理说明**:设置两个侧分别向左向右浮动,中间列通过外边距给两个侧腾出空间,中间列的宽度根据浏览器窗口自适应。...,对左侧添加左浮动,对右侧添加有浮动。...通过负边距将浮动的侧拉上来,左侧的负边距为100%,刚好是窗口的宽度,因此会主面板下面的左边跑到与主面板对齐的左边,右侧此时浮动在主面板下面的左边,设置负边距为负的自身宽度刚好浮动到主面板对齐的右边...由于侧的负margin都是相对主面板的,两个侧并不会像我们理想中的停靠在左右两边,而是跟着缩小的主面板一起向中间靠拢。此时使用相对布局,调整两个侧到相应的位置。

    1.9K90

    一些实践方案深入浅出2. 开始试试水

    一些实践方案深入浅出 1.1 padding 看到百度的顶部,你会想到什么方案呢? ? 我们看百度搜索的顶部,顶部的#head(搜索框这一行都是)是fixed的,紧接着的那个div是一个tab。...1.2 margin 再看看百度的右边 ? 对于这个的左边部分,用margin还是padding呢?这个情况当然是padding,因为有一个边线?。...实际上,在这个情况下都是一样的,但是有一个潜在问题:如果有两行,而且垂直方向还有其他盒子的margin,那么就会发生垂直方向的margin坍塌(取较大值);或者当有父盒子包裹,他的margin会走到外面影响外面...开始试试水 接下来,准备用n种方法实现三列布局,中间自适应,两边固定宽度 绝对定位 html: 中间</div...如果是用容器padding,将左右两边腾出来,刚刚好放下lr两个div。最后,l和r还是在m里面,所以还要一下,relative就好。这就是圣杯布局 ?

    37330

    css菜鸡的自我救赎

    一些实践方案深入浅出 1.1 padding 看到百度的顶部,你会想到什么方案呢? 我们看百度搜索的顶部,顶部的#head(搜索框这一行都是)是fixed的,紧接着的那个div是一个tab。...1.2 margin 再看看百度的右边 对于这个的左边部分,用margin还是padding呢?这个情况当然是padding,因为有一个边线。...实际上,在这个情况下都是一样的,但是有一个潜在问题:如果有两行,而且垂直方向还有其他盒子的margin,那么就会发生垂直方向的margin坍塌(取较大值);或者当有父盒子包裹,他的margin会走到外面影响外面...开始试试水 接下来,准备用n种方法实现三列布局,中间自适应,两边固定宽度 绝对定位 html: 中间</div...如果是用容器padding,将左右两边腾出来,刚刚好放下lr两个div。最后,l和r还是在m里面,所以还要一下,relative就好。

    23710

    css菜鸡的自我救赎

    一些实践方案深入浅出 1.1 padding 看到百度的顶部,你会想到什么方案呢? ? 我们看百度搜索的顶部,顶部的#head(搜索框这一行都是)是fixed的,紧接着的那个div是一个tab。...1.2 margin 再看看百度的右边 ? 对于这个的左边部分,用margin还是padding呢?这个情况当然是padding,因为有一个边线?。...实际上,在这个情况下都是一样的,但是有一个潜在问题:如果有两行,而且垂直方向还有其他盒子的margin,那么就会发生垂直方向的margin坍塌(取较大值);或者当有父盒子包裹,他的margin会走到外面影响外面...开始试试水 接下来,准备用n种方法实现三列布局,中间自适应,两边固定宽度 绝对定位 html: 中间</div...如果是用容器padding,将左右两边腾出来,刚刚好放下lr两个div。最后,l和r还是在m里面,所以还要一下,relative就好。这就是圣杯布局 ?

    38320

    常用命令行快捷键

    前言 开发过程中经常会使用到命令行,有很多命令行快捷键可以很方便的提高我们的工作效率。 Mac iTerm2 设置 Mac 下 iTerm2 需要设置一下才能使用一些快捷键。...光标前一个字 Alt-b 光标后移一个字 Ctrl-l 清空屏幕,移动光标到左上角。...当你想要使用多个可能的匹配项时,这个很有帮助 历史命令 快捷键 作用 Ctrl-p 移动到一个历史条目。类似于上箭头按键 Ctrl-n 移动到一个历史条目。...类似于下箭头按键 Alt-< 移动到历史列表开头 Alt-> 移动到历史列表结尾,即当前命令行 Ctrl-r 反向递增搜索当前命令行开始,向上递增搜索 Alt-p 反向搜索,不是递增顺序。...输入要查找的字符串,然后按下 Enter,执行搜索 Alt-n 向前搜索,非递增顺序 Ctrl-o 执行历史列表中的当前项,移到下一个。如果你想要执行历史列表中一系列的命令,这很方便

    94850

    Linux学习笔记之vim操作指令大全

    w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到一个单词末尾,如果词尾有标点,则移动到标点; b:...:n 移动到第n行。 :$ 移动到最后一行。 H: 把光标移到屏幕最顶端一行。 M: 把光标移到屏幕中间一行。 L: 把光标移到屏幕最底端一行。 gg: 到文件头部。...0x12 编程辅助 13.1 一些按键 gd: 跳转到局部变量的定义处; gD: 跳转到全局变量的定义处,当前文件开头开始搜索; g;: 上一个修改过的地方; g,: 下一个修改过的地方; [[: 跳转到上一个函数块开始...]]: 跳转到下一个函数块开始需要有单独一行的{。 []: 跳转到上一个函数块结束,需要有单独一行的}。 ][: 跳转到下一个函数块结束,需要有单独一行的}。...15.2 一些快捷键(收集中) K: 打开光标所在词的manpage。 *: 向下搜索光标所在词。 g*: 同上,但部分符合即可。 #: 向上搜索光标所在词。 g#: 同上,但部分符合即可。

    2.8K20

    个人使用mac OS和win OS的差异

    在打开 DMG 文件之前,需要先将它挂载为一个卷,并且在使用完成后需要将其弹出卸载掉。...Swift Playgrounds:Swift Playgrounds 是一个用于学习 Swift 编程语言的应用程序,它可以帮助用户通过简单而有趣的方式开始编写代码。...睡眠、退出登录和关机快捷键 在这些快捷键中,你可能需要按住其中一些快捷键稍长时间。这样有助于避免无意中使用了这些快捷键。 电源按钮:按下可将 Mac 开机或将 Mac 睡眠状态唤醒。...Command-F:在“访达”窗口中开始“聚焦”搜索。 Command-I:显示所选文件的“显示简介”窗口。...Option-Command-T:在当前“访达”窗口中有单个标签页开着的状态下显示或隐藏工具。 Option-Command-V:将剪贴板中的文件原始位置移动到当前位置。

    2.4K20

    常用快捷键大全

    自然键盘使用命令 【窗口】显示或隐藏“开始”菜单 【窗口】+F1帮助 【窗口】+D显示桌面 【窗口】+R打开“运行” 【窗口】+E打开“我的电脑” 【窗口】+F搜索文件或文件夹 【窗口】+U打开“工具管理器...Ctrl+UP 将插入点上一个段落 Ctrl+Down 将插入点下移一个段落 Ctrl+Home 将插入点移到文档开始 Ctrl+End...HOME 选定插入点到开始的输入内容 SHIFT + END 选定插入点到最后的输入内容 SHIFT+左箭头键 选定或取消左面的一个字符 SHIFT...+Shift+F:旧式的文件搜索对话框(与记事本中的搜索替换框差不多,可以替换) Ctrl+F3:为当前选中的部分进行搜索(不需要再输入要搜索的内容) Shift+Alt+Enter:最大化代码编写区域...Alt+Shift+→ 选择下一个元素 Shift+← 光标处开始往左选择字符 Shift+→ 光标处开始往右选择字符 Ctrl+Shift+← 选中光标左边的单词 Ctrl+Shift+→ 选中光标又边的单词

    4.3K10

    visual studio运行程序的快捷键_visual studio快捷方式在哪

    +Shift+F:旧式的文件搜索对话框(与记事本中的搜索替换框差不多,可以替换) Ctrl+F3:为当前选中的部分进行搜索(不需要再输入要搜索的内容) Shift+Alt+Enter:最大化代码编写区域...Ctrl+UP 将插入点上一个段落 Ctrl+Down 将插入点下移一个段落 Ctrl+Home 将插入点移到文档开始 Ctrl+End 将插入点移到文档结尾 Alt+/ 快速选定整个表格...END 移动到内容的最后 左箭头键或右箭头键 向左或向右移动一个字符 CTRL+左箭头键 CTRL+右箭头键 向左或向右移动一个字 SHIFT + HOME 选定插入点到开始的输入内容...菜单 Ctrl+箭头键 微对象的位置 Ctrl+D 复制对象及其属性 Ctrl+Shift+C 复制对象属性 Ctrl+Shift+V 将属性复制到对象中 Tab 移动到一个对象 Shift...Alt+Shift+→ 选择下一个元素 Shift+← 光标处开始往左选择字符 Shift+→ 光标处开始往右选择字符 Ctrl+Shift+← 选中光标左边的单词 Ctrl+Shift

    4.8K10

    前端面试(1)H5+css

    内部的 Box 会在垂直方向,一个一个地放置。 Box 垂直方向的距离由 margin 决定。...width; 三布局,已知左右侧宽度,中间自适应 1.使用定位 三个盒子外侧设置大盒子,大盒子使用相对定位,下面一层三个盒子均采用绝对定位,左盒子固定宽高,右盒子固定宽高设置right: 0px;...,中间自适应的三布局,中间要在放在文档流前面以优先渲染。...圣杯布局和双飞翼布局解决问题的方案在前一半是相同的,也就是三全部 float 浮动,但左右两加上负 margin 让其跟中间 div 并排,以形成三布局。...token 也类似一个令牌,无状态,用户信息都被加密到 token 中,一般 token 放到请求头 header 中,服务器收到 token 后解密就可知道是哪个用户。需要开发者手动添加。

    1.3K20

    Windows快捷键速查

    Ctrl + 向右键 将光标移动到一个字词的起始处。 Ctrl + 向左键 将光标移动到一个字词的起始处。 Ctrl + 向下键 将光标移动到下一段落的起始处。...使用搜索框在任何页面上键入 搜索设置。 4. Windows 徽标键 快捷键 说明 Windows 徽标键 打开或关闭“开始”菜单。 Windows 徽标键 + A 打开操作中心。...Windows 徽标键 + F 打开反馈中心获取屏幕截图。 Windows 徽标键 + G 打开游戏 Windows 徽标键 + H 开始听写。 Windows 徽标键 + I 打开设置。...Ctrl + Home(标记模式) 将光标移动到缓冲区的起始处。 Ctrl + End(标记模式) 将光标移动到缓冲区的结尾处。 Ctrl + 向上键 在输出历史记录中上一行。...箭头键 如果活动选项是一组选项按钮,请选择一个按钮。 7. 文件资源管理器 快捷键 说明 Alt + D 选择地址。 Ctrl + E 选择搜索框。 Ctrl + F 选择搜索框。

    4.2K20

    算法面试题:均分纸牌

    另一种情况是不一样多,那只需要将多的移动到少的使两堆一样,最少1次。 ? 2.3 三堆纸牌 如果三堆已经一样多,即都为平均数,那就不用移动。 ?...03 分割子问题 想象这种场景,N堆纸牌,从中间某位置分开,左右两边都刚好够分,那么把每一边都看成整体时,一定不会有互相移动。因为如果你左边x张到右边,你必然还会右边x张回来,属于多余操作。...4.2 均摊后大于平均数(充分性) 开始扫描每一堆纸牌,如果大于平均数,就把多余的移到右边相邻的堆上。这样左右两边都是刚好够分的情况,即通过一次移动就把该区间分割成两个更小的子区间。 ?...4.3 均摊后小于平均数(充分性) 开始扫描每一堆纸牌,如果小于平均数,就继续向右扫描,这时判断整个左区间是否够分,直到扫描到。...实现代码非常简单,但思考过程并不简单,需要找出问题的本质规律,要证明算法的正确性,这个还是有一些思考量在里面的。大家跟着小K的思路多思考,勤用脑,总有一天你会感叹:原来都是套路啊,哈哈。

    63830

    Framer 使用滚动变体创建动画

    Demo1: 实现一个动到不同部分,修改导航的背景颜色的效果 创建导航组件 第一步就是创建一个导航组件 可以直接按下命令 K 调出快捷菜单。...然后输入组件名字,就可以进入到组件编辑页面了 然后我们创建一个最基本的导航(默认) 左边放入LOGO 右边放入包裹每一菜单项的大盒子 也就是导航 采用flex布局, 子项y方向垂直居中, x方向左右两端分布..., 左右两边加入内边距padding 每一项的item 也是flex伸缩盒布局, 子项垂直水平居中 紧接着我们复制这个组件两份,分别修改背景颜色为黑色 和黄色 最终效果: 然后我们组件就完成了,...当然有很多地方需要优化,但这不是重点....Demo2: 实现一个动到不同部分,更改左侧的icon图标 效果: 在上个效果的基础上,我添加了 渐变背景 填充了文本,使用绝对定位固定到页面上. 给每个页面添加了 粘性布局, 达到视差的效果.

    6810

    Windows10中的键盘快捷方式

    Delete) 删除所选的项目,将其移至回收站 Ctrl + R(或 F5) 刷新活动窗口 Ctrl + Y 恢复操作 Ctrl + 向右键 将光标移动到一个字词的起始处 Ctrl + 向左键 将光标移动到一个字词的起始处...+ 箭头键 当组或磁贴的焦点放在“开始”菜单上时,可将其朝指定方向移动 Ctrl + Shift + 箭头键 当磁贴的焦点放在“开始”菜单上时,将其移到另一个磁贴即可创建一个文件夹 Ctrl + 箭头键...若要打开它,请选择“开始” 菜单 >“设置”>“Cortana”,打开“当我按 Windows 徽标键 + C 时,让 Cortana 听我的命令”下的切换键。...若要打开它,请选择“开始” 菜单 >“设置”>“Cortana”,打开“当我按 Windows 徽标键 + C 时,让 Cortana 听我的命令”下的切换键。...) 将光标移动到缓冲区结尾处 Ctrl + 向上键 在输出历史记录中上一行 Ctrl + 向下键 在输出历史记录中下移一行 Ctrl + Home(历史记录导航) 如果命令行为空,则将视区移动到缓冲区顶部

    4.5K20

    未来布局之星——ConstraintLayout

    建立依赖 ConstraintLayout布局是Android Studio 2.2的新增功能,所以在建立依赖前需要将Android Studio更新至2.2版本或以上。...将布局修改为ConstraintLayout 删除一个控件 完成转换后,可以在Component Tree下方看到ConstraintLayout里面有原来存在的TextView控件,如果不需要,可以在蓝色区域选中...除了居中,约束还可以设置控件两边到边界之间的距离比例,通过在右侧属性面板中,拖动水平和垂直方向的进度条来调整两边距离的比例。 ?...如下图,创建一个垂直方向的参考线,将其切换至百分比模式,拖动到50%的位置,再将两个控件在左右两侧分别与Guidelines添加约束,然后两个控件的底边相互添加约束即可实现合并居中的效果。...blog.csdn.net/guolin_blog/article/details/53122387 更新20170311 今天简单地翻译了一篇关于ConstraintLayout的官方文档,写了一篇《官方文档看

    1.9K20
    领券