システムフォントの移動端の修正により、remレイアウトの乱れが生じる解決方法
3166 ワード
モバイル端末のページがremでアダプティブレイアウトをしていると、システムのフォントを修正してレイアウトが乱れる場合があります.システムフォントの修正は全体的なものですので、webviewも影響を受ける可能性があります.
解決策はremを設定した後、実際のフォントの値を取って、私達が予め設定したremの値と比較して、その上でもう一度「拡大縮小」をします.
解決策はremを設定した後、実際のフォントの値を取って、私達が予め設定したremの値と比較して、その上でもう一度「拡大縮小」をします.
var num = 20;
var docEl = document.documentElement;
var width = docEl.getBoundingClientRect().width;
var rem = width / num;
rem = parseFloat(rem.toFixed(3));
docEl.style.fontSize = rem + 'px';
var realitySize = parseFloat(window.getComputedStyle(document.documentElement).fontSize);
if (rem !== realitySize) {
rem = rem * rem / realitySize;
docEl.style.fontSize = rem + 'px';
}
window.REM = rem;