🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A collection of loading indicators animated with CSS3.SpinKit uses CSS animations to create smooth and easily customizable animations. The goal is not to offer a solution that works in every browser. If you’re building a site with users running IE9 and below, you’ll want to detect support for the CSS animation attribute, and implement a fallback animation (e.g. a GIF.)

Animation CSS

Documentation

SpinKit

Simple loading spinners animated with CSS. See demo. SpinKit uses hardware accelerated (translate and opacity) CSS animations to create smooth and easily customizable animations.

Usage

Regular CSS

Grab the HTML and CSS for a spinner from the example files, or add SpinKit directly to your project with bower:

$ bower install spinkit

or npm:

$ npm install spinkit

SCSS

If you're using SCSS you can include specific spinners (rather than all of them) by importing them one by one:

@import '../bower_components/spinkit/scss/spinners/1-rotating-plane',         '../bower_components/spinkit/scss/spinners/3-wave';

You currently need to use an autoprefixer if you want to support all browsers. If you're compiling your SCSS with gulp you can use gulp-autoprefixer, and grunt-autoprefixer if you use grunt.

Variables that can be overridden are listed in scss/_variables.scss.

Web browser compatibility

CSS animations are supported in the latest version of all major browsers, and browsers with animation support make up almost 90% of all usage. If you need to support IE9 and below, however, this section is for you.

Implementing a fallback spinner

How do you know if you need to provide a fallback? You can easily check for animation support with Modernizr, or manually check for the animation property, and replace the spinner with a GIF if it's not supported:

function browserSupportsCSSProperty(propertyName) {   var elm = document.createElement('div');   propertyName = propertyName.toLowerCase();    if (elm.style[propertyName] != undefined)     return true;    var propertyNameCapital = propertyName.charAt(0).toUpperCase() + propertyName.substr(1),     domPrefixes = 'Webkit Moz ms O'.split(' ');    for (var i = 0; i < domPrefixes.length; i++) {     if (elm.style[domPrefixes[i] + propertyNameCapital] != undefined)       return true;   }    return false; }

Use it to check for animation support:

if (!browserSupportsCSSProperty('animation')) {   // fallback… }

Contributing

See CONTRIBUTING.md for details.


You May Also Like