UNPKG

react-app-shell

Version:

react打包脚本和example, 这里的版本请忽略

35 lines (30 loc) 1.03 kB
(function flexible(window, document) { let docEl = document.documentElement; let dpr = window.devicePixelRatio || 1; // set 1rem = viewWidth / 10 function setRemUnit() { let cw = docEl.clientWidth > 750 ? 750 : docEl.clientWidth; let rem = cw / 10; docEl.style.fontSize = rem + 'px'; } setRemUnit(); // reset rem unit on page resize window.addEventListener('resize', setRemUnit); window.addEventListener('pageshow', function (e) { if (e.persisted) { setRemUnit(); } }); // detect 0.5px supports if (dpr >= 2) { let fakeBody = document.createElement('body'); let testElement = document.createElement('div'); testElement.style.border = '.5px solid transparent'; fakeBody.appendChild(testElement); docEl.appendChild(fakeBody); if (testElement.offsetHeight === 1) { docEl.classList.add('hairlines'); } docEl.removeChild(fakeBody); } })(window, document);