:after and :before are relics left over from their CSS2 implementation. In the CSS3 module, these are defined as ::after and ::before. The only reason browsers still support the single-colon syntax is to prevent the CSS2 syntax from not functioning as intended.