使用JavaScript获得相当于“最大宽度:600像素”的CSS

Hor*_*ray 3 javascript css

这是此问题的后续问题:使用javascript获取设备宽度

我正在尝试做的是@media (max-width: 600px)在JavaScript中获得等效的CSS 。

接受的答案说要做到以下几点:

var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
Run Code Online (Sandbox Code Playgroud)

那还正确吗?它适用于所有设备吗?

如果正确,检查的目的是(window.innerWidth > 0)什么?

我想知道它是否仍然有效。如果您查看答案的最后评论(有6票赞成票),则会显示:

这怎么有这么多投票?var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;在iPhone 6和6 Plus上返回667。此解决方案无法正常工作。

kze*_*ier 5

您应该能够执行以下操作:

if (matchMedia) {
  var mq = window.matchMedia("(max-width: 600px)");
  mq.addListener(WidthChange);
  WidthChange(mq);
}

function WidthChange(mq) {
  if (mq.matches) { 
     //Window width is less than or equal to 600px
  } else { 
     //Window width is greater than 600px
  }
}
Run Code Online (Sandbox Code Playgroud)