webp-in-css
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/webp-in-css package

0.9.0 • Public • Published

WebP in CSS

WebP logo

PostCSS plugin and tiny JS script (175 bytes) to use WebP in CSS background.

This tool will make your images 25% smaller for Chrome, Firefox, and Edge. Safari will download the bigger JPEG/PNG image.

You add require('webp-in-css/polyfill') to your JS bundle and write CSS like:

.logo {
  width: 30px;
  height: 30px;
  background: url(/logo.png);
}

The script will set webp or no-webp class on <body> and PostCSS plugin will generate:

.logo {
  width: 30px;
  height: 30px;
  background: url(/logo.webp) no-repeat;
}
body.webp .logo {
  background-image: url(/logo.webp);
}
body.no-webp .logo, body.no-js .logo {
  background-image: url(/logo.png);
}

If you want to use addNoJs option, you need manually set no-js class on <body>. Polyfill will remove this class, if JS is enabled in the browser. Polyfill should be inserted in the <head>, without async or defer attributes, before css. addNoJs option is enabled by default.

Sponsored by Evil Martians

Docs

Read full docs here.

Package Sidebar

Install

npm i webp-in-css

Weekly Downloads

566

Version

0.9.0

License

MIT

Unpacked Size

9.23 kB

Total Files

5

Last publish

Collaborators

  • ai