Window.matchMedia() - Web APIs 编辑
The Window
interface's matchMedia()
method returns a new MediaQueryList
object that can then be used to determine if the document
matches the media query string, as well as to monitor the document to detect when it matches (or stops matching) that media query.
Syntax
mqList = window.matchMedia(mediaQueryString)
Parameters
mediaQueryString
- A string specifying the media query to parse into a
MediaQueryList
.
Return value
A new MediaQueryList
object for the media query. Use this object's properties and events to detect matches and to monitor for changes to those matches over time.
Usage notes
You can use the returned media query to perform both instantanteous and event-driven checks to see if the document matches the media query.
To perform a one-time, instantaneous check to see if the document matches the media query, look at the value of the matches
property, which will be true
if the document meets the media query's requirements.
If you need to be kept aware of whether or not the document matches the media query at all times, you can instead watch for the change
event to be delivered to the object. There's a good example of this in the article on Window.devicePixelRatio
.
Examples
This example runs the media query (max-width: 600px)
and displays the value of the resulting MediaQueryList
's matches
property in a <span>
; as a result, the output will say "true" if the viewport is less than or equal to 600 pixels wide, and will say "false" if the window is wider than that.
JavaScript
let mql = window.matchMedia('(max-width: 600px)');
document.querySelector(".mq-value").innerText = mql.matches;
The JavaScript code passes the media query to match into matchMedia()
to compile it, then sets the <span>
's innerText
to the value of the results' matches
property, so that it indicates whether or not the document matches the media query at the moment the page was loaded.
HTML
<span class="mq-value"></span>
A simple <span>
to receive the output.
CSS
.mq-value {
font: 18px arial, sans-serif;
font-weight: bold;
color: #88f;
padding: 0.4em;
border: 1px solid #dde;
}
Result
See Testing media queries programmatically for additional code examples.
Specifications
Specification | Status | Comment |
---|---|---|
CSS Object Model (CSSOM) View Module The definition of 'Window.matchMedia()' in that specification. | Working Draft | Initial definition |
Browser compatibility
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论