Я пытаюсь провести рефакторинг некоторых CSS в следующих классах:
.cards-list {
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
}
.cards-list .card-item {
margin-bottom: 15px;
flex-basis: 49%;
padding: 30px 45px;
}
.cards-list .card-item-small {
flex-basis: 25%;
}
Моя задача состоит в том, чтобы выравнивать содержимое только элементов .card БЕЗ создания новых классов CSS. Как вы можете видеть, элементы card-items и card-item-smalls существуют в списках card-карт, а свойство justify-content применяется только к элементам-наследникам. Одним из способов решения этой проблемы было бы создание нового класса, который применяется к контейнеру только вокруг small-card-item-smalls и имеет свойство:
.specific-cards {
justify-content: unset;
}
Однако это нарушает правило не создавать новые классы. Другой вариант, который я попытался, заключался в применении псевдооправдания:
.cards-list {
flex-direction: row;
align-items: flex-start;
//justify-content: space-between; //REMOVED
}
.cards-list .card-item {
margin-bottom: 15px;
flex-basis: 49%;
padding: 30px 45px;
margin-left: 3.5px; //ADDED
margin-right: 3.5px; //ADDED
}
Но это также имеет проблемы, поскольку на внешней стороне карточных предметов есть нежелательное пространство. У меня вопрос, как мне достичь цели без нежелательных побочных эффектов?