Comme le montre l'image, c'est ce que j'ai rencontré lors de l'examen des questions d'entretien. J'aimerais demander au maître quelles sont les différences spécifiques ?
De toute façon, je ne l'ai pas trouvé quand je l'ai écrit, je connais toujours l'effet
Le simple deux-points (:) est utilisé pour les pseudo-classes CSS3 et le double deux-points (::) est utilisé pour les pseudo-éléments CSS3.
Il y a une description dans la spécification W3C sur les sélecteurs CSS3 :
Un pseudo-élément est composé de deux deux-points (::) suivis du nom du pseudo-élément.
Cette notation :: est introduite par le document actuel afin d'établir une discrimination entre les pseudo-classes et les pseudo-éléments. Pour des raisons de compatibilité avec les feuilles de style existantes, les agents utilisateurs doivent également accepter la notation précédente à un deux-points pour les pseudo-éléments introduite dans. Niveaux CSS 1 et 2 (à savoir :first-line, :first-letter, :before et :after) Cette compatibilité n'est pas autorisée pour les nouveaux pseudo-éléments introduits dans le niveau CSS 3.
.Une traduction simple, l'idée générale est qu'un pseudo élément est constitué d'un double deux-points et du nom du pseudo élément. Le double deux-points a été introduit dans la spécification actuelle pour distinguer les pseudo-classes des pseudo-éléments. Cependant, les pseudo-classes sont compatibles avec les styles existants et les navigateurs doivent en même temps prendre en charge les anciennes pseudo-classes, telles que :first-line, :first-letter, :before, :after, etc.
Vous pouvez désormais répondre entièrement à la question dans le titre. Pour les pseudo-éléments qui existaient avant CSS2, comme :before, le simple deux-points et le double deux-points ::avant ont le même effet.
Donc, si votre site Web doit uniquement être compatible avec webkit, Firefox, Opera et d'autres navigateurs, il est recommandé d'utiliser l'écriture à deux points pour les pseudo-éléments. S'il doit être compatible avec le navigateur IE, il est plus sûr d'utiliser CSS2 simple. écriture du côlon.
Baidu connaît ce genre de problème
Voir :
Pseudo-éléments https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements
Pseudo-classes https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-classes