sounak07
sounak07

Reputation: 43

How to create underline effect on hovered links in CSS?

I'm trying to achieve styling like this:

bbc.com with arrows pointing to underlined menu entries

How do I to create that effect using CSS?

Upvotes: 4

Views: 18086

Answers (3)

Ramin Ahmadi
Ramin Ahmadi

Reputation: 629

 a {
        display: inline-block;
        position: relative;
        text-decoration: none;
        text-align: center;
    }

    a:hover:before {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
        box-shadow: inset 0 -10px 0 #11c0e5;
    }

    a span {
        display: block;
        width: 100px;
        height: 40px;
        background-color: red;
        padding-top: 20px;
    }
    <a href="#">
    <span>link texts</span>
    </a>
  

Upvotes: 2

Gustaf Gun&#233;r
Gustaf Gun&#233;r

Reputation: 2267

By using :hover and setting a border-bottom. Something like this

ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
ul li{
  float: left;
  margin: 0 5px;
}
ul li a{
  text-decoration:none;
  color: black;
}
ul li:hover{
  border-bottom: 2px solid red;
}
<ul>
  <li><a href="">Home</a></li>
  <li><a href="">About</a></li>
  <li><a href="">Contact</a></li>
</ul>

Upvotes: 3

IlReDelleFinte
IlReDelleFinte

Reputation: 141

a{
   text-decoration:none;
}

a:hover {
   text-decoration:underline;
}

This should work for links, however the effect in the picture seems to be made with the link's container border:

div.yourcontainer:hover{
    border-bottom:2px solid red;
}

This should work ^^

Upvotes: 7

Related Questions