我应该在移动键盘上方使用媒体查询和转换: translateY(-%) 吗?

Posted

技术标签:

【中文标题】我应该在移动键盘上方使用媒体查询和转换: translateY(-%) 吗?【英文标题】:Should I use media query and transform: translateY(-%) to above the mobile keyboard? 【发布时间】:2020-01-17 08:49:43 【问题描述】:

我被困了将近一天,我需要帮助。我不明白聊天网络应用程序是如何解决这个问题的......论坛中有很多关于这个问题的帖子:我需要这个页面组件上的页脚(或我的页眉)根据高度小于或等于手机高度,因此它始终为移动键盘做好准备。对于这个组件(而不是聊天窗口组件),我宁愿 (1) 屏幕上的标题 + (2) 不在键盘后面的文本框,而不是 (x3) 在使用键盘时将文本框放在屏幕底部已关闭(如果自动对焦会在移动设备上触发,我实际上想保持键盘打开)input textbox hidden & header hidden

以下是一些描述此问题的 *** 线程: 短/甜7/20/17 类似案例3/22/19 这些似乎有答案,但 are in jquery 我还不明白或 use input.focus 我不知道在 reactjs 中放在哪里

css

.New_Plan_Header 
  position: fixed;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  z-index: 3;
  top:0%;
  width: 100%;
  border: none;
  height: 56px;
  width: 100%;
  background-color: #2fbaff;
  color: rgba(255, 255, 255, 0.644);
  font-family: "Muli", sans-serif;
  font-size: 26px;
  src: url(./UIConainers/Icons/Fonts/Muli-ExtraLight.ttf);

.plan-form 
  position: absolute;
  display: flex;
  height: 56px;
  width: 100%;
  bottom: 0%;
  color: #444;
  font-family: "Muli", sans-serif;
  font-size: 26px;
  padding-left: 56px;
  src: url(./UIConainers/Icons/Fonts/Muli-ExtraLight.ttf);

js

<div className="New_Plan_Header">Plan</div>
<input
  type="search"
  className="plan-form"
  name="title"
  value=note.title
  onChange=e => this.updateValue(e)
  placeholder="Title"
  autoFocus=true
  autoComplete="off"
  //onfocusin="transform: translateY(-600%), bottom:60%"
  />

提前感谢您的阅读和帮助

转到 src/UIConainers/Plans/planpages/plannew.js & plannew.css

Codesandbox

【问题讨论】:

【参考方案1】:

好吧,在阅读您的问题标题后,我会说尝试使用媒体查询,看看结果是否是您想要实现的。如果不再回来 :O 如果您想尝试 input.focus 的东西,请查看此帖子 how react programmatically focus input 也许这是您需要了解您必须做什么的内容

【讨论】:

好的,谢谢,我会看的,但是你能帮我节省一些时间,告诉我当键盘输入时我应该使用什么脚本来向上移动页脚输入? öhm 看看带有绿色赞成票的帖子评论,这是您可能想要实施并根据您的需求进行更改的评论。 我添加了 (1) onClick=this.focus ref=this.textInput 到输入,(2) this.textInput = React.createRef(); this.focus = this.focus.bind(this); 到构造函数和 (3) focus() this.textInput.current.focus(); 外部渲染类内!对我来说有点道理,但不......“工作” 我是experimenting with @media screen and (min-aspect-ratio: 13/9) .plan-form position: fixed; bottom:60%; 现在 &lt;input onfocus= window.scrollTo(0, 0) /&gt; 但它不起作用。越来越近了……

以上是关于我应该在移动键盘上方使用媒体查询和转换: translateY(-%) 吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用媒体查询时无法打开 Android 键盘

我应该使用媒体查询进行响应式设计吗?

在点击键盘上方移动文本字段的逻辑

如何使用最大宽度的媒体查询:767px 首先使用 Bootstrap 4 移动设备

Jquery移动页脚上方的白色间隙

无法更改媒体查询