CSS Should Read Like Phrases

Take the cascade into consideration when naming elements. CSS nirvana is when selectors are written the way you would talk about them.

<body id="science">
  <div class="article">
     <h1>Headline</h1>
     <p class="intro">Lorem ipsum dolor sit amet…</p>
     <img src="http://dummyimage.com/120x60">
  </div>
</body>

#science .article {…}
#science .article .intro {…}
#science .article img {…}

Repetitive naming conventions add bloat and require more thinking when making changes.

<body id="science">
  <div class="science-article">
     <h1>Headline</h1>
     <p class="science-article-intro">Lorem ipsum dolor sit amet…</p>
     <img src="http://dummyimage.com/120x60">
  </div>
</body>

#science .science-article {…}
#science .science-article .science-article-intro {…}
#science .science-article img {…}