修复 Mobile Safari 中的固定导航元素
当虚拟键盘在 Mobile Safari 中打开时,确保固定导航元素保持在原位可能具有挑战性。此问题源于 Mobile Safari 处理固定元素的已知错误。
dansajin 提出的一种解决方案是在输入字段接收焦点时切换固定元素的位置。当设置焦点时,固定元素设置为position:absolute,当焦点丢失时,它们恢复为position:fixed。
要实现此方法,请添加以下CSS:
.header { position: fixed; } .footer { position: fixed; } .fixfixed .header, .fixfixed .footer { position: absolute; }
此外,请包含以下 JavaScript:
if ('ontouchstart' in window) { /* cache dom references */ var $body = $('body'); /* bind events */ $(document) .on('focus', 'input', function() { $body.addClass('fixfixed'); }) .on('blur', 'input', function() { $body.removeClass('fixfixed'); }); }
以上是当键盘出现时如何修复 Mobile Safari 中的固定导航元素?的详细内容。更多信息请关注PHP中文网其他相关文章!