我看到这里、这里和这里提出了这个问题,但找不到明确和/或可行的答案。我在运行 Chrome 75 的三星 A7(2018)上使用 Android 9。
发生什么了。 我有一个需要键盘输入的 html 表单。在 Chrome 中打开并尝试输入时,键盘会强制调整表单大小。调整大小将表单减少到屏幕高度的 50% 左右,并且还会调整表单宽度和输入字段的宽度/高度。在关闭键盘并且表单恢复正常大小之前,任何键入的文本都是不可见的。Firefox Focus 中不会调整大小 - 键盘向上滑动并滑过表单的下半部分,使表单保持 100% 大小。
2019 年更新 - 解决方案! 我在一个关于同样问题的问题中找到了关于 Chrome的问题的答案,但在 Firefox 中(这不再是问题,至少现在在 Firefox Focus 9 中不是问题)。
尝试设置一个截断的文本框,通过单击/点击文本框将其扩展为完整尺寸。我的 div.textbox有height:10em, ,并且使用(在此处找到- 请参阅淡出方式)overflow:hidden在文本框的底部三分之一处有一个“还有更多...”淡出效果。在 SO 上找到了一个用于扩展到. .textbox:after {height: 3em; background: linear-gradient}.textboxheight:auto
<script>
document.querySelector('.textbox').addEventListener('click', function() {
document.querySelector('.textbox').style.height='auto';
});
</script>
Run Code Online (Sandbox Code Playgroud)
问题是,.textbox:after淡出效果仍然覆盖展开文本框的底部 3em,遮挡文本。因此,在单击/点击时,我需要脚本将 padding-bottom.textbox从 0 更改为 3em(以及将高度增加为自动)。上面的脚本可以处理这两个更改吗?我进行了搜索,只找到了更改单个属性的示例,例如颜色或边框(例如此处)或使用 javascript更改多个 div。我已经修改过,但结果要么脚本不起作用,要么只影响 height: auto。
哎呀! 抱歉,应用答案时我的设置中发现了一些小错误。我在文本框中还有一个“关闭”按钮,如果单击该按钮,文本框会在关闭之前展开闪烁。尝试给“关闭”按钮一个巨大的 z-index,但没有成功。所以我需要将查询选择器从整个文本框移动到文本的第一段(p class =“expand”)。所以我想我会从...开始
document.querySelector('.expand').addEventListener('click', function() {
document.querySelector('.textbox').style.height='auto';
Run Code Online (Sandbox Code Playgroud)
...但是this.style.paddingBottom='2em';没有效果。我该怎么办?
最后一点。 这里有两个解决方案......