I am wondering why this code will also change the first letter of h1::before. I search about the CSS specificity--all three of them are same since they all have one element and one pseudo element (if I am wrong, please tell me). Then I think they should follow by order. This is the process in my mind: It will change the first letter of h1, then add a pseudo -element before h1 with content, and then add the pseudo-element after. The first letter won't change. Can anyone help me understand it?
h1::first-letter {
font-size: 70px;
font-style: italic;
color: yellow;
}
h1::before {
content: "This is";
color: green;
}
h1::after {
content: "of Website";
}
<h1>Heading</h1>