如何使用 JavaScript 进行媒体查询

使用 JavaScript 进行媒体查询

媒体查询在 CSS3 中引入,是响应式 Web 设计的关键要素之一。媒体查询用于确定视口的宽度和高度,以使网页在所有设备(台式机、笔记本电脑、平板电脑、手机等)上都显示得很好。

window.matchMedia() 方法返回一个 MediaQueryList 对象,该对象表示指定的 CSS 媒体查询字符串的结果。matchMedia() 方法的值可以是 CSS @media 规则的任何媒体特征,例如 min-heightmin-widthorientation 等。

实例

如果视口的宽度小于或等于700像素,则将背景色更改为黄色。如果宽度大于700,则将其更改为粉红色:

function myFunction(x) {
  if (x.matches) { // 如果媒体查询匹配If media query matches
    document.body.style.backgroundColor = "yellow";
  } else {
    document.body.style.backgroundColor = "pink";
  }
}

// 创建 MediaQueryList 对象
var x = window.matchMedia("(max-width: 700px)")

// 在运行时调用监听器函数
myFunction(x);

// 在状态更改时附加监听器函数
x.addEventListener("change", function() {
  myFunction(x);
});

亲自试一试

相关页面

教程:CSS 媒体查询

教程:响应式网页设计

参考手册:JavaScript window.matchMedia() 方法