npm.io
0.3.2 • Published 7 years ago

matchmedia-polyfill

Licence
MIT
Version
0.3.2
Deps
0
Size
8 kB
Vulns
0
Weekly
0
Stars
2.4K

npm

matchMedia() polyfill

test whether a CSS media type or media query applies

Usage

// Likely want to requier both polyfills..
require('matchmedia-polyfill');
require('matchmedia-polyfill/matchMedia.addListener');
test 'tv' media type
if (matchMedia('tv').matches) {
  // tv media type supported
}
test a mobile device media query
if (matchMedia('only screen and (max-width: 480px)').matches) {
  // smartphone/iphone... maybe run some small-screen related dom scripting?
}
test landscape orientation
if (matchMedia('all and (orientation:landscape)').matches) {
  // probably tablet in widescreen view
}

Used in:

How about resizing the browser?

Paul Hayes tackled this using CSS transitions and their transitionEnd event

His code: https://github.com/fofr/matchMedia.js -- though currently it doesnt support IE6-9, since they dont have transitions, obviously. :)