有没有办法检测屏幕尺寸是偶数还是奇数,以便我可以根据结果制定 css 规则?

Is there a way to detect if a screen size is an even or odd number so that I can base a css rule on the outcome?

我目前正在我的投资组合网站上工作,我注意到主页上有一行根据屏幕大小移动 1 个像素是偶数还是奇数。

如果显示宽度为奇数,如 1141px,则线条居中。如果是 1140px 就不再居中了。

这是导致问题的 css

&:before {
      content: '';
      display: block;
      position: absolute;
      top: calc(-3.5rem - 1px);
      left: calc(50% - #{_size(border-width) * 1});
      width: _size(border-width);
      height: calc(3.5rem + 1px);
      background: _palette(border);
    }

具体是这一行:

left: calc(50% - #{_size(border-width) * 1});

网站是:https://www.Kyle-Richey.com

有问题的线是页面底部菜单和水平线之间的垂直线。

第一张图片的显示宽度为偶数,线条偏心,第二张图片的显示宽度为奇数,线条居中。

理想情况下,如果可能的话,我会编写一些代码,根据显示宽度是偶数还是奇数来更改 css 规则。

计算 left: calc(50% - #{_size(border-width) * 1}); 可能会产生一个像素的百分比,并且会向上或向下舍入到最近的像素,从而导致未对齐。

不知道 #{_size(border-width) 在做什么,所以很难给出准确的答案。 但是将 left: calc(50% - #{_size(border-width) * 1}); 换成 left: calc(50% - 0.5px); 似乎解决了我在 Chrome.

中的快速测试中的问题