.less CSS – Dynamic CSS for .Net

23. November 2009

More than once in the past 6 months I have wanted variables, inheritance, and class chaining in CSS. I was never able to find something that did was I was looking for, and I thought about creating my own, but who has the time? Now I don’t have to, because yesterday I discovered .less.

With .less (pronounced dot-less) you write CSS as you are used to, but you can mix it up a bit to make things a little more clear and concise. For example, instead of having to duplicate the same hex color in a dozen or so selectors, you can define a variable as that color and just reference that.

@brand_color: #4D926F;

#header {
  color: @brand_color;
}

h2 {
  color: @brand_color;
}

 

If you want to chain your classes together you can simply include one in the other.

.rounded_corners {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}


#header {
  .rounded_corners;
}


#footer {
  .rounded_corners;
}

 

You can nest your rules to make inheritance a little more clear.

#header {
  color: red;
  a { 
       font-weight: bold; 
       text-decoration: none; 
    } 
}

 

And lastly you can include some basic operators to give complex relationships to your properties.

@the-border: 1px;
@base-color: #111;

#header {
  color: @base-color * 3;
  border-left: @the-border;
  border-right: @the-border * 2;
}


#footer { 
  color: (@base-color + #111) * 1.5; 
}

 

If that isn’t all, you can configure .less to cache and minify the output. Something I will be taking advantage of for sure.


short link to this post:

asp.net ,

Add comment


(Will show your Gravatar icon)

biuquote
  • Comment
  • Preview
Loading