CSS
calc
在 非IE,非移动端 的兼容场景,calc 的兼容性实际很好,非常适合用于实现 计算性高度。
由于 height: 100% 的计算或传递性,在低版本浏览器中极易出现异常,所以类似 高度设置为占满某个块,使用 calc 来实现反而比较合适,尤其是其他块高度已知,且固定时。calc(100vh - 100px)
: 高度为视口高度 减去 100 px
Browser
兼容性检测
import { isStyleSupport } from 'rc-util/es/Dom/styleChecker';
import { detect } from 'detect-browser';
const browser = detect();
const supportSticky = isStyleSupport('position', 'sticky');
/** 添加对完全支持 sticky 的浏览器版本的限制 */
function supportStickyCompletely() {
if (!supportSticky || !browser || browser.type !== 'browser') return false;
const version = browser.version?.split('.')?.[0];
const browserName = browser.name;
switch (browserName) {
case 'firefox':
return !!(Number(version) && Number(version) >= 59);
case 'chrome':
case 'edge':
return !!(Number(version) && Number(version) >= 91);
default:
return false;
}
}
React
fetch 撤销