colors.less

Create color schemes with LESS

I like to use formulaic color schemes in my web development sometimes, but generating them with tools like kuler is not very maintainable. So I decided to write some LESS color formulas to generate some of the most common color schemes, and share it with you.

Demo

Shades
Analgous
Complementary
Split Complementary
Clash
Triadic
Tetradic
Five Tone
Six Tone

Documentation

Scope:

Create the following color schemes

  • Shades
  • Analgous
  • Complementary
  • Split Complementary
  • Clash
  • Triadic
  • Tetradic
  • Five tone
  • Six tone

Usage

Each color scheme takes two parameters, @baseColor and @difference, @distance, or @angle. Except for the complimentary scheme, which only takes @baseColor.

The Code

@baseColor: #2865CC; // Shades @difference: 10%; // Difference (in perecent) between each shade @shade1: lighten(@baseColor, (@difference * 2)); @shade2: lighten(@baseColor, @difference); @shade3: @baseColor; @shade4: darken(@baseColor, @difference); @shade5: darken(@baseColor, (@difference * 2)); // Analgous @distance1: 10; // Degrees between each analgous color @analgous1: spin(@baseColor, (@distance1 * 2)); @analgous2: spin(@baseColor, @distance1); @analgous3: @baseColor; @analgous4: spin(@baseColor, (@distance1 * -1)); @analgous5: spin(@baseColor, (@distance1 * -2)); // Complementary @complementary1: @baseColor; @complementary2: spin(@baseColor, 180); // Split Complementary @distance2: 80; // Degrees between the two complementary colors @splitComp1: spin(@baseColor, ((360 - @distance2) / 2)); @splitComp2: @baseColor; @splitComp3: spin(@baseColor, (((360 - @distance2) / 2) * -1)); // Clash @angle: 45; // Angle formed at base of isosceles triangle @clash1: spin(@baseColor, (@angle * -2)); @clash2: @baseColor; @clash3: spin(@baseColor, (@angle * 2)); // Triadic @distance3: 120; // Degrees between the two new colors @triad1: @baseColor; @triad2: spin(@baseColor, (180 - (@distance3 * 0.5))); @triad3: spin(@baseColor, (180 + (@distance3 * 0.5))); // Tetradic @distance4: 90; // Degrees between two closest colors @tetrad1: @baseColor; @tetrad2: spin(@baseColor, @distance4); @tetrad3: spin(@baseColor, 180); @tetrad4: spin(@baseColor, (180 + @distance4)); // Five tone @distance5: 30; // Degrees between the 4 analgous colors @5tone1: @baseColor; @5tone2: spin(@baseColor, (180 - (@distance5 * 1.5))); @5tone3: spin(@baseColor, (180 - (@distance5 * 0.5))); @5tone4: spin(@baseColor, (180 + (@distance5 * 0.5))); @5tone5: spin(@baseColor, (180 + (@distance5 * 1.5))); // Six tone @distance6: 20; // Distance between the colors of each analgous pair // Pair 1 @6tone1: @baseColor; @6tone2: spin(@baseColor, @distance6); // Pair 2 @6tone3: spin(@baseColor, (120 - (@distance6 * 0.5))); @6tone4: spin(@baseColor, (120 + (@distance6 * 0.5))); // Pair 3 @6tone5: spin(@baseColor, (-120 + (@distance6 * 0.5))); @6tone6: spin(@baseColor, (-120 - (@distance6 * 0.5)));

Dependancies

The only dependancy is LESS.