La propiedad text-decoration especifica la decoración agregada al texto y es una propiedad abreviada para:
- línea de decoración de texto (obligatorio)
 - color-decoracion-texto
 - estilo de decoración de texto
 
Sintaxis
text-decoration: text-decoration-line text-decoration-color text-decoration-style|initial|inherit;
Valores de propiedad
- text-decoration-line establece el tipo de decoración de texto que se utilizará subrayado (underline), linea sobre el texto  (overline), tachado( line-through), saca lo que haya(none)
 
- text-decoration-color  establece el color de la decoración del texto decorado.
 
- text-decoration-style   establece el estilo de la decoración del texto sólido (solid), ondulado (wavy) , punteado (dotted), discontinuo(dashed) , doble (double)
 
- initial  establece esta propiedad en su valor predeterminado
 
- inherith   hereda esta propiedad de su elemento padre.
 
<!DOCTYPE html>
<html>
<head>
<style>
h1 {
  text-decoration: overline; text-decoration-color: blue; text-decoration-style :wavy ;
}
h2 {
  text-decoration: line-through;
}
h3 {
  text-decoration: underline;
}
h4 {
  text-decoration: underline overline;
}
</style>
</head>
<body>
<h1>Este es el heading 1</h1>
<h2>Este es el heading 2</h2>
<h3>Este es el heading 3</h3>
<h4>Este es el heading 4</h4>
</body>
</html>
			 
Otra actividad común en gran cantidad de sitios es eliminar el subrayado a los enlaces con el objetivo que la página tenga mejor estética. A esto lo podemos hacer configurando las pseudoclases:
a:link {
  text-decoration:none;
}
a:visited {
  text-decoration:none;
}
Accedemos a las pseudoclases link y visited e inicializamos la propiedad text-decoration con el valor none.
Probamos la solución en esta página:
<!DOCTYPE html>
<html>
<head>
  <title>Problema</title>
  <meta charset="UTF-8">
  <link rel="StyleSheet" href="estilos.css" type="text/css">
</head>
<body>
<a href="http://www.google.com">Google</a>
<a href="http://www.yahoo.com">Yahoo</a>
<a href="http://www.bing.com">Bing</a>
</body>
</html>
La hoja de estilo es:
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
Es decir, configuramos la propiedad text-decoration con el valor none, por defecto está configurada con el valor underline.
Tener en cuenta que podemos agrupar la regla de esta forma:
a:link, a:visited {
  text-decoration: none;
}
 Ver ejemplo anterior en linea