Испытание [9/20] на 100%, короткий код. Хотелось бы получить комментарий.

html,
body {
margin: 0;
padding: 0;
font-family: “Arial”, sans-serif;
}

body {
min-width: 550px;
min-height: 250px;
padding: 10px;
}

ul.cards {
width: 500px;
}

.cards li::before {
font-family: “Courier”, monospace;
}

li:nth-child(3), li:nth-child(4), li:nth-last-child(2), li:nth-last-child(3), li:nth-last-child(4), li:nth-last-child(5), li:nth-child(6) {
margin-left: -15px;
}

.cards li:not(:nth-child(5)) {
width: 36px;
height: 54px;
}

.cards li:nth-child(5) {
margin-right: 30px;
margin-left: 15px;
}

.cards:nth-child(2) li:nth-last-child(2), .cards:nth-child(3) li:nth-child(4), .cards:nth-child(4) li:nth-child(2), .cards:nth-child(4) li:nth-child(8), .cards:nth-child(3) li:nth-child(6) {
background-color: #0099ff;
}

.cards:nth-child(2) li:nth-child(3), .cards:nth-child(4) li:nth-child(3), .cards:nth-child(5) li:nth-child(3) {
background-color: #ff3300;
}

.cards:nth-last-child(2) li:nth-last-child(2), .cards:nth-last-child(2) li:nth-last-child(5), .cards:nth-child(5) li:nth-child(4) {
background-color: #339933;
}

ну до короткого кода тут как пешком до парижу.

замена
li:not(.six) {
margin-left: -15px;
}

.cards li:not(.nine) {
width: 36px;
height: 54px;
}

.cards .nine {
margin-right: 30px;
margin-left: 15px;
}

.cards .diamond:nth-child(2n) {
background-color: #0099ff;
}

.cards .seven:not(.club) {
background-color: #ff3300;
}

.cards:last-of-type li:nth-of-type(3n) {
background-color: #339933;
}
3 лайка

А что это за класс .nine .six? Откуда они?

ээээ, ну классы как бы в html
image

Никак не пойму, почему используется именно .cards, а не li?

ну потому что li могут быть и вне .cards, логично?
вы же не хотите абсолютно на всех экземплярах li сделать правило.
привыкайте сразу писать правильно, даже в рамках прикладной задачи

честно, без этого комментария и не заметила бы, что там одинаковые масти/номера в основном закрашиваются. спасибо

Объясните, пожалуйста, откуда такое решение?

html,
body {
margin: 0;
padding: 0;
font-family: “Arial”, sans-serif;
}

body {
min-width: 550px;
min-height: 250px;
padding: 10px;
}

.cards {
width: 518px;
}

.cards li::before {
font-family: “Courier”, monospace;
}

.cards li:not(:nth-of-type(4)) {
margin-left: -15px;
}

ul li:not(:nth-of-type(4)) {
width: 36px;
height: 54px;
}

.cards li:nth-of-type(4) {
margin-right: 30px;
margin-left: 15px;
}

ul:nth-of-type(1) li:nth-of-type(9),
ul:nth-of-type(2) li:nth-of-type(3),
ul:nth-of-type(2) li:nth-of-type(5),
ul:nth-of-type(3) li:nth-of-type(1),
ul:nth-of-type(3) li:nth-of-type(7){
background-color: #0099ff;
}

ul:nth-of-type(1) li:nth-of-type(2),
ul:nth-of-type(3) li:nth-of-type(2),
ul:nth-of-type(4) li:nth-of-type(2) {
background-color: #ff3300;
}

ul:nth-of-type(4) li:nth-of-type(3),
ul:nth-last-of-type(1) li:nth-of-type(6),
ul:nth-last-of-type(1) li:nth-last-of-type(1){
background-color: #339933;
}
как можно было еще сократить ?

Я сделала так:

.cards li:not(.nine):not(.six) {
margin-left: -15px;
}

.cards li:not(.nine) {
width: 36px;
height: 54px;
}

li.nine {
margin-right: 30px;
margin-left: 15px;
}

.diamond:not(.nine):not(.king):not(.jack):not(.seven) {
background-color: #0099ff;
}

ul li:nth-of-type(2):not(.club) {
background-color: #ff3300;
}

ul:last-of-type li:nth-of-type(3n) {
background-color: #339933;
}