Links con iconos usando condicionales CSS

Algo que queda muy bien y sirve para guiar a los usuarios: iconos distintos para links a tipos de archivo específicos: Un ícono para los PDF, otro para los ZIP, y hasta para links salientes a otros sitios. Obviamente lo ideal es que los íconos aparezcan automáticamente para cada link, y no estar cargándolos manualmente.
Si no sabías cómo hacer esto usando solamente CSS, te comento que resulta estúpidamente sencillo:
Lo principal es entender el simple funcionamiento de los condicionales “^” y “$“. El condicional “^” significa empieza con, y “$” significa termina con.
Sabiendo eso puedes añadir iconos a los links salientes, que son los que empiezan con http://
a[href^="http://"] {
estilos para los links salientes
}
Y también puedes añadir cualquier cosa a los links con extensiones específicas, en este caso daremos un estilo diferente a todos los links que terminan en .rar:
a[href$=".rar"] {
estilos para los links a archivos .rar
}
El resto es solo cuestión de experimentar un poco, los condicionales funcionan con cualquier navegador medianamente nuevo.