代码之家  ›  专栏  ›  技术社区  ›  FrozenKiwi

css计算除法给出错误的数字

css
  •  0
  • FrozenKiwi  · 技术社区  · 2 年前

    这看起来很奇怪。我将以下内容放在div上:

    width: calc(702px / 672);
    

    我得到:

    width: 1.03125px
    

    如果你把这个702/672放进计算器里,你会得到

    1.0446
    

    这很近,但还不够近。

    为什么我需要这个?我正在构建一个流畅的布局,当页面调整大小时,会调整图标/图像/边距等内容的大小,使用LESS给我一个合适的 calc 基于我的基于像素的figma src。完整的方程式为:

    /** linear interpolate value from small to big as screen goes from small-size to big-size */
    .scalable-unit(@property, @small, @big, @unit) {
      @{property}: clamp(
          unit(@small, @unit),
          calc(unit(@small, @unit) + (@big - @small) * ((100vw - @tabletBreakpoint) / (@desktopWidth - @tableWidth))),
          unit(@big, @unit),
        );
    }
    

    有趣的是,它适用于基于像素的值,而不是基于%年龄的值。如果我直接输入图像的大小

    .scalable(width, 105, 174, px)
    

    然后我在桌面断点上得到了合适的大小。但是如果我使用%大小,那么我得到了错误的输出。

    .scalable(width, 75, 100, %)
    
    0 回复  |  直到 2 年前