npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

matchmedia-polyfill

0.3.2

@paulirish

npmHomeRepoSnykSocket
Downloads:9822
$ npm install matchmedia-polyfill
DailyWeeklyMonthlyYearly

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:

  • Respond.js
  • FormFactor
  • Modernizr

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. :)


  • Authors: Scott Jehl, Paul Irish, Nicholas Zakas
  • Spec: dev.w3.org/csswg/cssom-view/#dom-window-matchmedia
  • Native support: Chrome since m10, Firefox since 6, and Safari since 5.1