Я не могу сказать разницу между element:first-child и element:first-of-type
Например, у вас был div
div:first-child
→ Все элементы <div>, которые являются первым потомком родителя.
div:first-of-type
→ Все элементы <div>, которые являются первым элементом <div> их родителя.
Это похоже на то же самое, но они работают по-другому.
Может кто-нибудь объяснит?