matchMedia()方法返回一个新的MediaQueryList对象,该对象表示指定媒体查询字符串的解析结果。
matchMedia()方法的值可以是CSS @media规则的任何媒体功能,例如min-height,min-width,orientation等。
window.matchMedia(mediaQueryString)
if (window.matchMedia("(min-width: 500px)").matches) { /* 视口viewport最小为500像素宽 */ } else { /* 视口viewport宽度小于500像素 */ }测试看看‹/›
表格中的数字指定了完全支持matchMedia()方法的第一个浏览器版本:
方法 | |||||
matchMedia() | 9 | 6 | 12.1 | 5.1 | 10 |
参数 | 描述 |
---|---|
mediaQueryString | 一个字符串,表示要为其返回新的MediaQueryList对象的媒体查询 |
返回值: | 一个MediaQueryList对象,表示指定CSS媒体查询字符串的结果 |
---|
如果视口宽度小于或等于600像素,则背景色为珊瑚色。如果大于600,它将变为浅绿色:
var size = window.matchMedia("(max-width: 600px)") myFunc(size) // 在运行时调用监听器函数 size.addListener(myFunc) // 在状态更改时附加监听器函数 function myFunc(size) { if (size.matches) { document.body.style.backgroundColor = "coral"; } else { document.body.style.backgroundColor = "lightgreen"; } }测试看看‹/›
CSS教程:CSS媒体查询