Font Awesome Text-Decoration and Link Underline

By  on  

If I were to describe Font Awesome in a word, I think it would be...awesome.  The icon font library is massively helpful in using quality vector glyphs instead of  separate images.  I tend to use a lot of icons within links, as they help users to more quickly visually identify navigation.  One side effect of using icons within links is that the icons themselves now use the text-decoration of the link.  I really don't want icons underlined like the link -- it looks tacky.  Here's how I remove them!

The CSS

Using the root icon selector and :before, we can adjust the icon's display and text-decoration:

i[class^="icon-"]:before {
	display: inline-block;
	text-decoration: none;
}

Needing this snippet to avoid text-decoration is a recent change as Font Awesome originally used the above styles.  Keep this CSS code handy if you use Font Awesome!

Recent Features

  • By
    An Interview with Eric Meyer

    Your early CSS books were instrumental in pushing my love for front end technologies. What was it about CSS that you fell in love with and drove you to write about it? At first blush, it was the simplicity of it as compared to the table-and-spacer...

  • By
    Responsive and Infinitely Scalable JS Animations

    Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...

Incredible Demos

  • By
    Submit Button Enabling

    "Enabling" you ask? Yes. We all know how to disable the submit upon form submission and the reasons for doing so, but what about re-enabling the submit button after an allotted amount of time. After all, what if the user presses the "stop"...

  • By
    MooTools, mediaboxAdvanced, and Mexico

    The lightbox is probably one of my favorite parts of the Web 2.0 revolution. No more having to open new windows (which can bog down your computer quite a bit) to see a larger image, video, etc. Instead, the item loads right into the...

Discussion

  1. Thanks for the snippet, I had the same issue and got to the same solution but was concerned about its performance.

    Anything you can say on this matter?

    • I can’t imagine this causing performance issues…

  2. Mircea

    Performance issues?

    p { color: #fff; } – my eight-core cpu is going full-load when renders this!

    WHAT A TWIST!

  3. Brandon

    Thanks for the tip. Here’s another similar service that’s amazing as well: http://icomoon.io/

  4. Does this still fix IE10? It’s broken for me. :(

  5. Stephen you might need to use

    i[class^="fa"]:before {
  6. Ah thanks! That one was driving me nuts. Didn’t think to try inline-block – i’ll get some more sleep tonight thanks to you :)

  7. nonsaprei

    Thanks, this trick worked for me even in 2020 with Font Awesome 5.

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