Detect Unmatched CSS Selectors with Helium

By  on  

One thing I can't stand is extra code.  Whether it's an extra CSS or JavaScript file that's been included by the page, bloated HTML, or unoptimized images, we're making our millions of of desktop and mobile visitors pay for our laziness and mistakes.  A great tool called Helium is available to help developers detect selectors in their stylesheets that are unmatched or malformed.  Let me show you how it works!

Start by including the script in your page and initializing Helium upon load:

<script type="text/javascript" src="js/lib/helium-css/helium.js" onload="helium.init()" async></script>

As soon as the page is loaded, the developer is presented with a textarea with which they may type page URLs to test.  These pages are then loaded and a report is generated, detailing the unused selectors, malformed selectors, and pseudo-selectors which should be tested manually:

Helium CSS Textarea

Helium CSS Result

Helium is an excellent tool for identifying legacy and unnecessary CSS.  The information provided by Helium allows developers to remove unused CSS or better segment site CSS.  This tool is the perfect utility for developers looking to quickly optimize their CSS code.  In fact, I've not seen a tool so easy to implement and use.  Let me know if you agree!

Recent Features

  • By
    JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

  • By
    Create Namespaced Classes with MooTools

    MooTools has always gotten a bit of grief for not inherently using and standardizing namespaced-based JavaScript classes like the Dojo Toolkit does.  Many developers create their classes as globals which is generally frowned up.  I mostly disagree with that stance, but each to their own.  In any event...

Incredible Demos

  • By
    Elegant Overflow with CSS Ellipsis

    Overflow with text is always a big issue, especially in a programmatic environment. There's always only so much space but variable content to add into that space. I was recently working on a table for displaying user information and noticed that longer strings were...

  • By
    MooTools History Plugin

    One of the reasons I love AJAX technology so much is because it allows us to avoid unnecessary page loads.  Why download the header, footer, and other static data multiple times if that specific data never changes?  It's a waste of time, processing, and bandwidth.  Unfortunately...

Discussion

  1. Did you know about mincss, written by our own Peterbe? It seem to serve the same purpose, see http://www.peterbe.com/plog/mincss

  2. Does it do the same job as CSS Usage ? (Firebug extension)

    • PH, this tool appears to support checking selectors across multiple pages. CSS Usage is current page only.

  3. PH, this tool appears to support checking selectors across multiple pages. CSS Usage is current page only.

  4. Very interesting tools , i will try it now.

    Thank you

  5. It’s a handy tool apparently but not a lot of people are using it? It is not efficient enough, or.. I haven’t tried it yet.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!