CSS

calc

在 非IE,非移动端 的兼容场景,calc 的兼容性实际很好,非常适合用于实现 计算性高度。
image.png
由于 height: 100% 的计算或传递性,在低版本浏览器中极易出现异常,所以类似 高度设置为占满某个块,使用 calc 来实现反而比较合适,尤其是其他块高度已知,且固定时。
calc(100vh - 100px): 高度为视口高度 减去 100 px

Browser

兼容性检测

  1. import { isStyleSupport } from 'rc-util/es/Dom/styleChecker';
  2. import { detect } from 'detect-browser';
  3. const browser = detect();
  4. const supportSticky = isStyleSupport('position', 'sticky');
  5. /** 添加对完全支持 sticky 的浏览器版本的限制 */
  6. function supportStickyCompletely() {
  7. if (!supportSticky || !browser || browser.type !== 'browser') return false;
  8. const version = browser.version?.split('.')?.[0];
  9. const browserName = browser.name;
  10. switch (browserName) {
  11. case 'firefox':
  12. return !!(Number(version) && Number(version) >= 59);
  13. case 'chrome':
  14. case 'edge':
  15. return !!(Number(version) && Number(version) >= 91);
  16. default:
  17. return false;
  18. }
  19. }

React

fetch 撤销