Search code examples
cssunderline

CSS underline less than width of headline?


Is it possible with CSS to make the underline of a headline less wide than the headline text? I have the following style for an H1 headline:

h1 {
  font-weight: 300;
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 1px #d2202f solid;
}

This produces a thin red underline below my H1 headlines. However, is it possible to make it so that the underline is 50% of the text in the headline?


Solution

  • You can use a pseudo element with :before (or :after):

    h1 {
        font-weight: 300;
        display: inline-block;
        padding-bottom: 5px;
        position: relative;
    }
    h1:before{
        content: "";
        position: absolute;
        width: 50%;
        height: 1px;
        bottom: 0;
        left: 25%;
        border-bottom: 1px solid red;
    }
    

    http://jsfiddle.net/9e27b/