@sitelintcode/css-lazy-loading-background
TypeScript icon, indicating that this package has built-in type declarations

0.0.11 • Public • Published

CSS Lazy Loading Background

Lazy loading CSS background isn't available out of the box in the browser. Therefore this package should help to achieve that.

Demo

CSS Lazy Loading Background

Getting started

First download the package:

npm install @sitelintcode/css-lazy-loading-background --save

Setting up the image

CSS

Specify the whole image URL in --background-image-lazy:, but without url(), as normally you would use.

Example usage for a single image:

  --background-image-lazy: prague-3010406_1920_thumbnail.jpeg;
  background-image: var(--background-image-lazy);

Example usage for for multiple images through image-set CSS functional notation:

  --background-image-set-lazy: image-lazy-set(
    url("ekg_1280.png") type("image/png"),
    "ekg_1280.webp" type("image/webp")
  );
  background-image: var(--background-image-set-lazy);

HTML and attribute data-lazy-background

Eventually, if you want to use as the attribute data-lazy-background then:

  <div class="example-data-lazy-background" data-lazy-background="san-francisco-panorama.jpg"></div>

TypeScript

  import CssLazyLoadingBackground from '@sitelintcode/css-lazy-loading-background';

  const cssLazyLoadingBackground: CssLazyLoadingBackground = new CssLazyLoadingBackground();

  cssLazyLoadingBackground.initialise();

The initialise method will automatically be applied based on document.readyState and if the page isn't loaded yet then use DOMContentLoaded event.

JavaScript

The package is also exposed to the global object (window in the browser) so you can use it in following way:

  <script>
    (function() {
      const cssLazyLoadingBackground = new window['css-lazy-loading-background'].CssLazyLoadingBackground();

      cssLazyLoadingBackground.initialise();
    }());
  </script>

Technical

  1. import { terser } from "rollup-plugin-terser"; was replaced with import { terser } from "rollup-plugin-minification"; because rollup-plugin-terser is not compatible with Rollup 3.x version. See: https://github.com/TrySound/rollup-plugin-terser/issues/119

Contributing

Contributions are welcome, and greatly appreciated! Contributing doesn't just mean submitting pull requests. There are many different ways for you to get involved, including answering questions on the issues, reporting or triaging bugs, and participating in the features evolution process.

License

MOZILLA PUBLIC LICENSE, VERSION 2.0

Package Sidebar

Install

npm i @sitelintcode/css-lazy-loading-background

Weekly Downloads

0

Version

0.0.11

License

MOZILLA PUBLIC LICENSE, VERSION 2.0

Unpacked Size

30.8 kB

Total Files

6

Last publish

Collaborators

  • sitelintpackages