屏幕/视口宽度是否大于 700 像素:
if (window.matchMedia("(max-width: 700px)").matches) {
// Viewport is less or equal to 700 pixels wide
} else {
// Viewport is greater than 700 pixels wide
}
亲自试一试 »
这个matchMedia()
方法返回一个媒体查询列表与查询的结果。
媒体询问matchMedia()
方法可以是任何媒体特征CSS @media 规则,如最小高度、最小宽度、方向等。
matchMedia("(max-height: 480px)").matches);
matchMedia("(max-width: 640px)").matches);
window.matchMedia(
mediaQuery)
Parameter | Description |
mediaQuery | Required. A string representing a media query. |
类型 | 描述 |
一个东西 | 包含媒体查询结果的 MediaQueryList 对象。 |
本页的第一个示例运行媒体查询并将其与当前的窗口状态。
跑步响应式媒体查询每当窗口状态发生变化,向 MediaQueryList 对象添加事件侦听器(请参阅下面的 "More Examples"):
如果视口宽度小于或等于 500 像素,则将背景颜色设置为黄色,否则设置为粉红色:
// Create a match Function
function myFunction(x) {
if (x.matches) {
document.body.style.backgroundColor = "yellow";
} else {
document.body.style.backgroundColor = "pink";
}
}
// Create a MediaQueryList object
const mmObj = window.matchMedia("(max-width: 500px)")
// Call the match function at run time
myFunction(mmObj);
// Add the match function as a listener for state changes
mmObj.addEventListener("change", function() {
myFunction(mmObj);
});
亲自试一试 »
matchMedia()
所有现代浏览器都支持:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | 11 |
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!