Treehouse: Grow your CSS skills. Land your dream job.

Last updated on:

Prevent Superscripts and Subscripts from Affecting Line-Height

sup, sub {
   vertical-align: baseline;
   position: relative;
   top: -0.4em;
sub { top: 0.4em; }

See here for complete reference and demo.


  1. rob Jones
    Permalink to comment#


    just saved me a tonne of work

  2. royler
    Permalink to comment#


  3. Rima
    Permalink to comment#

    Thank you so much! I tried several other options I had found and none worked. Thank you for your genius and generosity. Deep bow.

  4. Tom

    Thank you!

  5. Roy Tait
    Permalink to comment#

    I’d been tearing my hair out trying to do this. Thanks for sharing and for saving my remaining hair.

  6. Sarah
    Permalink to comment#

    Thanks for sharing! just saved my neck!

  7. Alex Vance
    Permalink to comment#

    I fucking love this site. Do a search for ‘superscript changing line height’, get here, where there are no accolades or talk at all but merely the simple, ruddy, working class snippet in all its ‘fuck off to conventional wisdom’ glory. Yayyyyyy wow I hope this doesn’t get approved

  8. isabel
    Permalink to comment#

    Thank you very much!!!! ;)

  9. Rick
    Permalink to comment#

    I love this one! :)

  10. Vijay
    Permalink to comment#

    This is brilliant. Thanks for sharing!!!

  11. Emma
    Permalink to comment#


    I am totally of Alex Vance’s mindset in the comment above.

  12. Bill
    Permalink to comment#

    Thanks a tonnnnnn!!!!!!!!!!!!!!!!!!

  13. Bushwazi
    Permalink to comment#

    Have I told you lately that I love you.

    *But I only stalk you online!

  14. Sébastien
    Permalink to comment#


    I knew this css hack cause it’s already in the starter theme for Drupal I’m using (omega) but when the superscript is underlined, it doesn’t work well (or maybe depends on the font used, mine was “Nunito” from google fonts).

    I’ve found a solution from a post on stackoverflow ( but doesn’t take the text color in consideration to build the line nor place it as a regular text-decoration:underline will.

    As I needed a solution for one of my clients, I’ve made a small jQuery fix you can also try:

    If it can save time and prevent headaches…

  15. Jeff
    Permalink to comment#

    Thank you! This was exactly what I needed. I’ve added it to my new and growing CSS bag of tricks, and I noted this page in a comment so I’ll always remember where I got it — and so will anyone else I pass it along to.

    Thanks again!

  16. Al
    Permalink to comment#

    This was just what I needed – Thanks!

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";