Вложенный scss не работает с angular 18 с попутным ветром

Я пытаюсь заставить работать вложенный scss, но не могу с angular. Может ли кто-нибудь взглянуть на мой образец репозитория?

Вот мой scss, и я ожидаю, что у моей карты будет зеленый фон.

СКСС

.card {
    @apply flex flex-col bg-neutral-700 border shadow-sm rounded-xl p-4 md:p-5 m-1 md:m-3 text-white;

    .primary {
        @apply bg-green-500;
    }

    .card-body {
        @apply flex flex-col -m-1.5 overflow-x-auto p-1.5 min-w-full align-middle overflow-hidden;
    }
}

HTML

<div class = "card primary">  
  <div class = "card-body">
      I should be green background
  </div>

</div>

https://github.com/rontran/angular-nested/tree/main

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Пожалуйста, используйте приведенный ниже код:

.card {
    @apply flex flex-col bg-neutral-700 border shadow-sm rounded-xl p-4 md:p-5 m-1 md:m-3 text-white;

    &.primary {
        @apply bg-green-500;
    }

    .card-body {
        @apply flex flex-col -m-1.5 overflow-x-auto p-1.5 min-w-full align-middle overflow-hidden;
    }
}

Пожалуйста, объясните, как это решит проблему, с которой сталкивается ОП.

DarkBee 06.08.2024 06:54

Я даже не вижу разницы с кодом, предоставленным ОП.

tacoshy 06.08.2024 08:11

Использование & указывает SCSS заменить его родительским селектором, тем самым применяя стили .primary непосредственно к элементу .card, если он также имеет класс .primary.

Viji_Pykara 06.08.2024 08:17

Пожалуйста, добавьте все подробности в ответ

DarkBee 06.08.2024 08:18
Ответ принят как подходящий

В настоящее время ваш SCSS, преобразованный в CSS,

.card {}
.card .primary {}
.card .card-body {}

Вам нужно использовать оператор &, чтобы сказать «скопировать содержимое родительского элемента в этот селектор»:

.card {
  &.primary {}
  .card-body {}
}

Это тогда дает

.card {}
.card.primary {}
.card .card-body {}

Другие вопросы по теме