Они четные! Вы забыли про пустые DIV !!! Они есть в каждом UL в начале и в конце ! Значит первая карта в каждой строке по HTML коду является вторым дочерним элементом в UL, а первым - пустой DIV ! .cards .diamond:nth-child(2n) : каждая четная карта с классом .diamond !!!
Хватит и такой подписи li:not(:first-of-type)
что как я думаю значит все li кроме первого, он получается как отправная точка и от него всё сдвигается.
А вот твою надпись понять не могу . Получается (я так думаю)) все кроме первого ли и ещё ты добавил кроме 4 li -вроде так. Получается (:nth-of-type(4)):not нафиг не надо.
можно как нибудь укоротить ? Есть ли возможность написать один класс (если он общий)и к нему плюсовать другие ? а не постоянно прописывать оба класса ?
Как нибудь так: .diamond(eight, six, ten, queen, ace)?
А зачем писать оба класса? Пишите один, раз он общий. А для всего остального неподходящего есть :not()
В этой теме много примеров кода. Если полистать вверх, можно найти очень хорошие варианты.
Это понятно, что для неподходящего есть :not(). а если этого не подходящего куча, а подходящего два или три? вот я и спрашиваю Есть ли возможность написать один класс (если он общий)и к нему плюсовать другие ? а не постоянно прописывать оба класса ?
А я вот наткнулся случайно: Например, если имеются классы article.active и article.visible, то можно использовать конструкцию, приведенную ниже, чтобы выбрать оба класса. Особенно это актуально, если таких классов много.
Правда это в CSS4
article:matches(.active, .visible) {
background: green;
}
.cards li::before {
font-family: “Courier”, monospace;
}
подскажите значение этого правила,почему .cards li::before стоит ‘::’ а не ‘:’,извиняюсь за глупый вопрос
В CSS3 псевдоэлементы стали обозначаться двумя двоеточиями, чтобы синтаксис отличался от псевдоклассов.
В CSS2 они обозначаются одним двоеточием. Браузеры, как правило, понимают оба синтаксиса.