unaipp textarea键盘抬起遮挡问题

场景

在这里插入图片描述

点击输入框时,键盘抬起,然后如下展示:

在这里插入图片描述

会发现键盘部分会遮挡输入框,而我们想要的效果如下所示:

在这里插入图片描述

解决办法就是在textarea中添加如下的属性:cursor-spacing="20" 具体数值可以根据实际情况进行调整。。。

<textarea cursor-spacing="20" :focus="focus" auto-height="true" v-model="textMsg" @focus="textareaFocus" />

解决!

### 解决 `<textarea>` 元素在键盘弹起时的行为或样式调整 #### 使用 CSS 进行基础适配 为了确保 `<textarea>` 的字体大小与其他输入元素保持一致,在 `flexible.css` 文件中加入特定的选择器可以解决不同设备上可能存在的显示差异: ```css button, input, optgroup, select, textarea { font-size: 100%; } ``` 此段代码通过设置统一的相对字号,使得所有表单控件能够继承父级容器的文字尺寸比例[^1]。 #### 利用 JavaScript 实现更精细控制 对于移动浏览器中的软键盘触发事件监听尤为重要。当用户点击 `<textarea>` 导致虚拟键盘显现时,页面高度会发生变化。此时可以通过检测窗口尺寸的变化来判断是否为软键盘弹出,并据此执行相应操作: ```javascript const originalHeight = document.documentElement.clientHeight; window.addEventListener('resize', () => { const currentHeight = document.documentElement.clientHeight; const activeInput = document.activeElement; if (originalHeight > currentHeight && (activeInput.tagName === 'TEXTAREA')) { // 当前处于软键盘打开状态且焦点位于 <textarea> activeInput.scrollIntoView({ behavior: "smooth", block: "center" }); } else if (currentHeight >= originalHeight){ // 软键盘关闭后恢复默认滚动位置 window.scrollTo(0, 0); } }); ``` 上述脚本不仅适用于 `<textarea>` ,同样也兼容其他类型的可编辑区域(如 `<input type="text">`)。它会自动将当前获得焦点并激活了软键盘的文本框居中展示于视窗内,从而改善用户体验[^2]。 #### 结合 flexible.js 提升响应能力 考虑到移动端屏幕分辨率多样性带来的挑战,借助 `flexible.js` 可以为整个网页提供更加灵活的基础布局方案。该库主要负责根据实际设备像素比(DPR)动态调整 HTML 文档根节点下的两个重要属性——`data-dpr` 和 `font-size`,进而影响到全局样式的计算逻辑[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶浩成520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值