当输入获得焦点时动画父 div

2023-12-05

我正在尝试做到这一点,以便当有人单击输入框时它会升到屏幕顶部。我能够完成这项工作,但我无法让父 div 中的其他内容随之移动。这是我所拥有的:

container{

} 
input#search-bar:focus{
  position: absolute;
  border: 1px solid #008ABF;
  transition: 0.35s ease;
  color: #008ABF;
  margin-top: -10px;
}
<div class="container">
  <div class="brandHeader">
    <h1>My Header</h1>
  </div>
  <form class="formHolder">
    <input type="text" id="search-bar" placeholder="Search">
  </form>
</div>

我想要的是我的标题也与搜索栏同时向上移动 10px。

如果您需要我忘记提供的任何其他信息,请询问,我会发布。


纯 CSS 解决方案 - Flexbox Order

如果你能够稍微重组你的html,那么可以通过改变dom来实现input在 html 中排名第一,但在屏幕上排名第二。该方法使用flexboxorder这样做。

这是一个例子。

.container {
  display: flex;
  flex-direction: column;
}
input {
  display: flex;
  flex-direction: column;
  order: 2;
}
.brandHeader {
  display: flex;
  order: 1;
  transition: all 0.2s ease;
}
input:focus + .brandHeader {
  margin-top: -10px;
}
<form class="container">
  <input type="text" id="search-bar" placeholder="Search">
  <div class="brandHeader">
    <h1>My Header</h1>
  </div>
</form>

fiddle

https://jsfiddle.net/Hastig/djj01x6e/

如果这对您有用,请告诉我,我会对此进行更多解释。


第二个纯 CSS 解决方案 - flex-direction: column-reverse

与第一个几乎相同,但不需要使用order: x;

.container {
  display: flex;
  flex-direction: column-reverse;
} 
input {
  display: flex;
  flex-direction: column;
 }
.brandHeader {
  display: flex;
  transition: all 0.2s ease;
}
input:focus + .brandHeader {
 margin-top: -10px;
}
<form class="container">
    <input type="text" id="search-bar" placeholder="Search">
    <div class="brandHeader">
      <h1>My Header</h1>
    </div>
</form>

fiddle

https://jsfiddle.net/Hastig/djj01x6e/1/


你可以在没有flexbox的情况下使用position:absolute来完成类似的事情,以将输入保持在dom中第一,但在屏幕上第二,但这也取决于你是否能够改变html结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当输入获得焦点时动画父 div 的相关文章

随机推荐

  • 如何在本地项目中为 JavaScript 库创建类型定义?

    我正在尝试使用N3打字稿项目中的库 自述文件中的示例 javascript 代码如下所示 const N3 require n3 const DataFactory N3 const namedNode literal defaultGra
  • 在 d3.js 中的 x 轴上以不同格式打印日期

    我正在使用 D3 js 构建此折线图 它工作正常 但我无法以缩写形式打印 x 轴上的月份 一月 二月 这是我如何解析日期的 var parseDate d3 time format m Y parse x 轴的代码 var xAxis d3
  • 使用 gridExtra 绘制多个格子图

    有一种非常方便的方法来绘制多个图表 那就是 gridExtra grid arrange grid arrange plot1 plot2 plot3 plot4 plot5 plot6 plot7 plot8 plot9 ncol 3 上
  • WlanOpenHandle 失败,错误代码 1062

    我正在使用本机 Wifi Api 获取 Windows 8 计算机上的 ssid 但 WlanOpenHandle 调用始终失败 错误代码为 1062 有任何帮助吗 注意 Windows 8 上没有 wzc 服务 正如OP所确认的 错误的直
  • Google Cloud Shell 使用的是project=cloud-devshell-dev 而不是我的实际项目,找不到启用的API

    我创建了一个 GCP 项目来使用视频智能 API 我在项目上启用了 API 并启动了 Cloud Shell 然后我复制了代码github并按照自述文件的说明进行操作 但是 当我尝试运行时faces py我收到此错误消息 StatusCod
  • R 中数据表的奇怪情况,列名混合

    所以我创建了这个变量mc split device在数据表内称为mc with devices 但是 如果我输入mc with devices mc split我得到了列的值mc split device虽然我从未创建过任何具有该名称的变量
  • 严重:无法初始化 Jenkins [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我已经在 Linux 上安装了 jenkins 但是当我尝试启动服务器时 它出现
  • MFC 中的 libmodbus

    我正在尝试将 libmodbus 提供的 modbus 库集成到 Visual Studio 2010 中的自定义 MFC 项目中 到目前为止我所遵循的步骤如下 1 我在 Visual Studio 2010 中创建了项目 如下面的快照所示
  • 逼近非参数三次贝塞尔曲线

    近似三次贝塞尔曲线的最佳方法是什么 理想情况下 我想要一个函数 y x 它可以给出任何给定 x 的精确 y 值 但这将涉及求解每个 x 值的三次方程 这对于我的需求来说太慢了 并且可能存在数值稳定性问题以及这种方法 Would this是一
  • CMUSphinx PocketSphinx - 识别所有(或大量)单词

    在我尝试使用 Android 版 PocketSphinx 之前 我使用了 Google 的语音识别 API 我不需要设置搜索名称或字典文件 它只是识别了所说的每一个字 现在 在 PocketSphinx 中 我需要这样做 但我只能找到如何
  • mongo-php-library 和 MongoDB 驱动程序有什么区别

    mongo php library 和 MongoDB 驱动程序有什么区别 它们在性能和功能方面有何不同 优缺点都有什么 我们目前在生产中使用 mongo php library 如下所示 connection new MongoDB Cl
  • 当用户到达页面底部时隐藏 div

    我想在用户滚动并到达页面底部时隐藏 div 元素 并在用户向上滚动时再次显示它 例如 考虑以下名为 nav 的导航栏 HTML div class nav div CSS nav width 100 height 50px position
  • 谷歌地图 android api v2 应用程序崩溃

    我正在使用 Eclipse helios 和 Android 4 1 2 我已遵循以下文档https docs google com document pub id 19nQzvKP CVLd7 VrpwnHfl AE9fjbJySowON
  • 样式表或 JavaScript 文件的 Rails 404 错误

    Rails 无法在生产中加载 404 错误 CSS 和 JS 文件 但在开发中加载它们没有问题 我使用 Capistrano 进行部署并运行 Rails 3 我的开发路径是 www myapp但我的生产之路是 www myapp 当前 应用
  • 使用 VSTS Rest API 设置 git repo 权限

    有没有办法使用 VSTS Rest API 设置 git 存储库的权限 我有一个创建存储库的脚本 我想扩展它以设置一些默认权限 授予项目集合构建服务贡献权限 我读了图形用户界面文档并浏览了其余 API 文档但看不到我可以通过 API 设置存
  • 为多个系列创建折线图

    我的工作表中有如下数据 Day Area AVG Time 2013 07 01 LINE1 49 703432 2013 07 02 LINE1 38 119913 2013 07 03 LINE1 30 6651 2013 07 04
  • 临时解压缩文件以在浏览器中查看内容

    我想解压一个包含 html 页面 css 和 js 目录的文件 我想暂时解压缩它并在 iFrame 中查看 html 最好是这样 我正在使用 jszip 它正在工作 我已经加载了 html 但如何将图像 js 和 css 文件夹添加到 iF
  • 两个数组之间的余弦距离计算 - Python [重复]

    这个问题在这里已经有答案了 我想应用一个函数fn 这本质上是cosine distance对两个形状为 10000 100 和 5000 100 的大型 numpy 数组按行进行计算 即我为这些数组中的每个行组合计算一个值 我的实现 imp
  • 移动图中的多个盒子?

    我已经拥有在 MATLAB 中拖放图形中的单个框所需的函数 我编写的代码在图中填充了几个方框 通过另一个循环 我用更多的框填充了图形 其中以字符串形式保存不同的信息 这两组框通过我在其 UserData 中放置的数字相关 对应的数字 对于每
  • 当输入获得焦点时动画父 div

    我正在尝试做到这一点 以便当有人单击输入框时它会升到屏幕顶部 我能够完成这项工作 但我无法让父 div 中的其他内容随之移动 这是我所拥有的 container input search bar focus position absolut