When hovering a link I want it to get an underline. The underline should be 2px strong and 4px below the text.
With
text-decoration: underline
You can use background with linear-gradient to produce a border, and with it you can position it anywhere.
For example:
background-image: linear-gradient(currentColor, currentColor);
background-position: 0 95%; /* determines how far from bottom */
background-repeat: no-repeat;
background-size: 100% 5px; /* second value determines height of border */
http://jsfiddle.net/1mg4tkwx/
Credit: https://www.dannyguo.com/blog/animated-multiline-link-underlines-with-css/