Чем отличаются псевдоклассы с разным двоеточием?
В древние времена все браузеры поддерживали только одинарное двоеточие. В наше время (начиная с IE9) принято использовать:для псевдо-элементов - двойное двоеточие "::"для псевдо-классов - одинарное двоеточие ":"
Эта рекомендация делает код немного более читаемым в ситуациях, когда таких псевдо-сущностей используется много.
Разная спецификация CSS.
В CSS3 используется одинарное двоеточие, как и двойное, но IE8 поддерживает одно двоеточие. Поэтому лучше использовать одно двоеточие.