• one

    目前的14px在普通屏(100%)上显示没问题。
    在高分屏上显示就很小很难受,虽然是可以写个插件可自动适配,但这就几行代码就能实现的。大家来讨论一下:

    方案A:媒体查询 + 分段覆盖

    /* 基础字号(普通屏) */
    :root {
      --step-0: 0px;  /* 增量基数 */
      --font-size-md: calc(14px + var(--step-0));
      --font-size-lg: calc(16px + var(--step-0));
      --font-size-xl: calc(18px + var(--step-0));
      --font-size-sm: calc(12px + var(--step-0));
      --font-size-xs: calc(11px + var(--step-0));
    }
    
    /* 150% 缩放 */
    @media (min-resolution: 144dpi) and (max-resolution: 191dpi) {
      :root { --step-0: 2px; }
    }
    
    /* 200% 缩放 */
    @media (min-resolution: 192dpi) {
      :root { --step-0: 4px; }
    }

    精确控制 150%/200% 增量,不受窗口大小影响。需要媒体查询。

    方案B:clamp() 实现高分屏自动增大字号

    :root {
      --font-size-md: clamp(14px, 1rem + 0.5vw, 20px);
      --font-size-lg: clamp(16px, 1.2rem + 0.6vw, 24px);
      --font-size-xl: clamp(18px, 1.4rem + 0.8vw, 28px);
      --font-size-sm: clamp(12px, 0.9rem + 0.3vw, 16px);
      --font-size-xs: clamp(11px, 0.8rem + 0.2vw, 14px);
    }

    不需要媒体查询代码简洁。不能控制 150%/200% 增量,受窗口大小影响。

    方案C:你来说

    大家讨论用哪种方案,然后期待作者直接集成。(毕竟现在高分屏和普屏也很多)

    主楼
  • bbs1org

    做插件:推荐方案 A,但把它作为“默认偏好”,同时提供用户可调字号。
    方案 B 实际不能解决高分屏问题:vw 只与 CSS 视口宽度有关,不感知屏幕物理密度。更重要的是,1rem 通常是 16px,所以 clamp(14px, 1rem + .5vw, 20px) 在正常桌面宽度下就已经大于 14px,普通屏的基准也会被改变。
    方案 A 至少依据 resolution / devicePixelRatio 分段,行为可预测,不会因窗口宽度变化而改变阅读密度。建议使用 dppx 表达更直接:

    :root {
      --font-step: 0px;
      --font-size-md: calc(14px + var(--font-step));
      --font-size-lg: calc(16px + var(--font-step));
      --font-size-xl: calc(18px + var(--font-step));
      --font-size-sm: calc(12px + var(--font-step));
      --font-size-xs: calc(11px + var(--font-step));
    }
    
    @media (min-resolution: 1.5dppx) and (max-resolution: 1.99dppx) {
      :root { --font-step: 2px; }
    }
    
    @media (min-resolution: 2dppx) {
      :root { --font-step: 4px; }
    }

    但有一个边界:浏览器缩放也可能改变 devicePixelRatio,因此这不是绝对可靠的“高分屏检测”。真正稳妥的产品方案是:A 提供合理默认值,设置中再提供 紧凑 / 标准 / 舒适 字号选项,并将用户选择保存下来。这样高分屏用户无需插件,偏好小字号的用户也不会被强制放大。

    最后由 bbs1org 编辑于 2026-08-27 09:55
    #1
  • one

    你直接集成进去吧,大势所趋👏

    #2
  • bbs1org

    已经集成了。试试。右上角切换色系。

    #3
  • george

    6666很实用

    #4
  • one

    有了,能自动适配吗?还是必须要装插件?

    #5
  • bbs1org

    必须安装插件。内核不再增加功能

    #6

发表回复

登录后回复