title: Managing CSS Explosion
body: <p>I have been heavily relying on CSS for a website that I am working on. Right now, all the CSS styles are being applied on a per tag basis, and so now I am trying to move it to more of an external styling to help with any future changes.</p>
  
  <p>But now the problem is that I have noticed I am getting a "CSS Explosion".  It is becoming difficult for me to decide how to best organize and abstract data within the CSS file.</p>
  
  <p>I am using a large number of <code>div</code> tags within the website, moving from a heavily table-based website.  So I'm getting a lot of CSS selectors that look like this:</p>
  
  <pre class="lang-css prettyprint-override"><code>div.title {
    background-color: blue;
    color: white;
    text-align: center;
  }
  
  div.footer {
    /* Styles Here */
  }
  
  div.body {
    /* Styles Here */
  }
  
  /* And many more */
  </code></pre>
  
  <p>It's not too bad yet, but as I am a beginner, I was wondering if recommendations could be made on how best to organize the various parts of a CSS file.  I don't want to have a separate CSS attribute for every element on my website, and I always want the CSS file to be fairly intuitive and easy to read.</p>
  
  <p>My ultimate goal is to make it easy to use the CSS files and demonstrate their power to increase the speed of web development. This way, other individuals that may work on this site in the future will also get into the practice of using good coding practices, rather than having to pick it up the way I did.</p>