Si has añadido una regla :before o :after y parece que no toma los estilos es porque para que estos se necesita el atributo content aunque sea vacío. Es decir:
div.miclase:before {
content: '';
}
otro ejemplo:
.help-tip::after {
content: "";
display: inline-block;
cursor: pointer;
width: 10px;
height: 10px;
background-repeat: no-repeat;
background-image: url("/assets/small-help-icon.gif");
}