【问题标题】:Find size for container with x rows, y columns defined maxWidth and defined maxHeight查找具有 x 行、y 列定义的 maxWidth 和定义的 maxHeight 的容器的大小
【发布时间】:2023-03-28 19:35:01
【问题描述】:

我正在尝试为容器找到最佳尺寸。

我必须使用这些值:

  • 窗口最大宽度
  • 窗口最大高度
  • 适合每列的项目
  • 适合每行的项目

每个项目都需要是一个正方形,并且容器必须完全适合项目。我还需要容器尽可能大,不要大于 x 方向的最大宽度和 y 方向的最大高度。

我当前的代码(实际上并不能正常工作)如下所示:

[dWidth, dHeight] = [window.innerWidth, window.innerHeight];
// Adjust sizes, for the tiles

var tiles = (width + height) / 2;

dSize = (dWidth / tiles) > (dHeight / tiles) ?
  (dHeight / tiles) : (dWidth / tiles);

dSize |= 0,

dWidth = width * dSize,
dHeight = height * dSize,
  • dWidth 是我要创建的容器的宽度
  • dHeight 是我要创建的容器的高度
  • width 是我拥有的列数
  • height 是我拥有的行数
  • dSize 是每个项目的高度和宽度。

无需担心奇怪的dWidth 分配,它是暂时的。

不用担心dSize |= 0,我不会得到负值。

无需担心 sn-p 以逗号结尾,下一行只是将 dWidthdHeight 分配给画布。

【问题讨论】:

    标签: javascript html math


    【解决方案1】:

    你可以水平放置的正方形数量是dWidth/width,你可以垂直放置的数量是dHeight/height。因此,您可以计算出适合的最大数量:

    var dSize = Math.min(dWidth/width, dHeight/height);

    如果您需要绝对值,请继续并在结果上使用Math.floor

    【讨论】:

    • 暂时测试一下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2019-02-07
    • 2016-04-06
    • 2011-06-22
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多