Вы можете создать только 1 класс и изменить его атрибуты в зависимости от медиа-запросов, например:
@media only screen and (max-width: 415px) {
.class-name {
background-color: blue;
}
}
@media only screen and (min-width: 415px) {
.class-name {
background-color: red;
}
}
В противном случае вам потребуется display:none
классов в медиа-запросах, которые вы не хотите, чтобы они появлялись, например:
@media only screen and (max-width: 415px) {
.small-screen {
display: block;
}
.large-screen {
display: none;
}
}
@media only screen and (min-width: 415px) {
.small-screen {
display: none;
}
.large-screen {
display: block;
}
}
Таким образом, вы должны будете использовать их оба во всех ваших div, которые вы хотите работать на обоих устройствах:
<div class="small-screen large-screen"></div>
Если вы хотите использовать в зависимости от значения переменной, тогда ngClass имеет смысл, вы можете использовать так:
<div [ngClass]="{'small-screen': isMobile, 'large-screen': !isMobile}></div>