:first-child
выбирает только первого потомка своего родителя. Ничего другого.
Как уже упоминалось в нескольких других моих ответах на сайте ( 1 2 3 4 ), нет :first-of-class
псевдокласс. Если вы хотите применить стили к первому из каждого класса ваших элементов div
, решение состоит в том, чтобы применить стили ко всем дочерним элементам этого класса, а также общий селектор братьев и сестер, чтобы отменить стили от последующих братьев и сестер.
Ваш CSS будет выглядеть так:
.project.work:before {
content: 'Work';
}
.project.research:before {
content: 'Research';
}
.project.work ~ .project.work:before,
.project.research ~ .project.research:before {
content: none;
}