关于前端:你一定踩过的微信H5的坑

7次阅读

共计 668 个字符,预计需要花费 2 分钟才能阅读完成。

1. IOS 的 input 光标高度问题

问题:IOS 的 input 框高度会默认占满父盒子的高度,导致光标也会撑满整个 input 框
解决:父盒子应用高低 padding 撑开,不应用行高 (line-height) 居中

2. IOS 微信 h5 页面高低滑动时卡顿,页面缺失

问题:如果页面高度超出了一屏,滑动页面就会呈现卡顿,有时会有页面显示不全的状况
剖析:苹果微信浏览器内核应用自带的 safari,须要 overflow-scrolling 开启回弹成果
解决:*{-webkit-overflow-scrolling: touch}
留神:如果页面中有相对定位的节点,该节点的显示会错乱

3.IOS 键盘唤起,键盘收起当前页面不归位

问题:输出内容时,键盘弹出,页面内容整体上移,然而键盘收起,页面内容无奈归位
剖析:input 聚焦时,弹出的软键盘占位,失去焦点时软键盘隐没,但还是占位的,导致 input 框不能再次输出
解决:监听 input 的 blur 办法,失去焦点时,用 js 滚动页面

4. Android 弹出的软键盘遮蔽文本框

问题:安卓微信 h5 页面太长时弹出软键盘后会挡住 input 输入框
解决:给 input 和 textarea 标签增加 focus 事件,聚焦时延时滚动

5. IOS 去除 input 默认暗影生效

问题:个别去除 input 暗影咱们能够应用 outline: none; 也能够应用 border: 0; 然而咱们有时候须要 border 的状况下,只能应用 outline: none; 安卓能够失效,IOS 发现暗影还在?
解决:应用 -webkit-appearance: none; 即可去除 input 默认暗影
正文完
 0