Я проверил MDN и w3.org , и лучшее, что я мог придумать, это то, что ::
используется для структурных изменений, и :
используется для стайлинга .
В настоящее время они являются взаимозаменяемыми по причинам совместимости.
Похоже, что он отделяет :link
(например), который стилизует <a>
, от :before
(который является структурным изменением).
:
для укладки, ::
для структурирования.