當父級設置了
border-radius+overflow:hidden
的時候,圓角是能夠包住子級的,這是個很常見的場景。
可是當子級設置了transform
屬性後,bug就發生了。
準確來講是在移動端纔會發生bug, pc端是正常的,具體的表現是: 父級的圓角沒法包住 運動中的子級。
解決方法也很簡單,就是在父級添加transform:rotate(0deg)
屬性。手機查看例子
至於爲何出現這種問題,以及解決bug的原理,本人暫時沒法解答。 💔html
具體bug: 在ios微信端,當在輸入框喚起鍵盤後,頁面會擡升,輸入完成鍵盤退出後,頁面並無自動恢復到原來的樣子, 越接近頁面底部越明顯。
解決方法是使用document.documentElement.scrollIntoView(false)
,讓頁面自動回滾。手機查看例子ios
;(/iphone|ipod|ipad/i.test(navigator.appVersion) && navigator.userAgent.indexOf('MicroMessenger') >= 0) && (function () { document.addEventListener('blur', function (e) { // 這裏加了個類型判斷,由於a等元素也會觸發blur事件 if (e.target && e.target.localName) { ['input', 'textarea'].indexOf(e.target.localName) !== -1 && document.documentElement.scrollIntoView(false) } }, true); })();
具體bug: 當在彈窗上滾動的時候,下面的頁面也會觸發滾動。
解決方法:請看筆者的另一篇文章! 😄 傳送門git