CSS3引入了双冒号表示“以便在伪类和伪元素之间建立区分”[CSS3 selectors spec]。例如,:active
指定一个状态,因此具有单个冒号,但::after
指定了内容的一部分,因此具有双冒号。
问题是:确定这种歧视的确切技术原因是什么?这种歧视解决了什么问题?
答案 0 :(得分:1)
使用单独语法的明显原因是为了防止在引入与现有伪类具有相同名称的伪元素时出现问题,反之亦然。 这只是猜测。在我们这个领域的人们经常会反思过度思考和过度设计而忘记YAGNI,或者害怕他们做出的设计选择将在某一天被猜测出来。