Задать вопрос
@CrazyFail

Как использовать @extend стилей класса из другого файла без включения самого файла?

Здравствуйте, уважаемые пользователи Тостера. Вопрос в следующем.
Например, я имею код в файле table.scss с некоторыми стилями (для .table и не только)
.sel1 {...}
.sel2{...}
.table {
  ...
}
sel3{...}

А в файле main.scss я хочу использовать стили класса .table предыдущего файла
.my-table {
  @extend ...
}

Я хочу использовать стили этого класса в main.scss, но без импорта файла в конечный (main.scss -> main.css). Т. е., чтобы в main.css не было .sel2, .sel3, а только стили из .table (table.scss) были в .my-table (main.scss). Прочитав части руководства по Sass я не обнаружил каких-то явных инструкций, чтобы сделать это. Вариант с импортом _table.scss не работает, файл всё равно импортируется полностью, а не используется по частям.
По-другому, я хочу использовать стили из фреймворков в "своих" классах без длинного списка этих классов в HTML шаблоне. (первый ответ https://toster.ru/answer?answer_id=516423 отражает то, что я хочу сделать).

P.S. Есть вариант использования так называемых "плейсхолдеров", объявляющихся через %name {}, которые как раз для этого и нужны, наверное, но это не слишком удобный вариант.
  • Вопрос задан
  • 558 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Skillbox
    Веб-вёрстка 3.0
    3 месяца
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
isqua
@isqua
Научу HTML, CSS, JS, BEM и Git
Экстенд просто добавляет ваш селектор к тому, что вы экстендите. Поэтому нужен файл с экстендом. Для решения вашей задачи могут подойти миксины:

.my-table {
    @include .table();
}


Если вы используете CSS-минификатор, то можете не беспокоиться о том, что CSS будет избыточным. Минификатор позаботиться. А если вы не используете минификатор, то пора начать!

Не переэкстенживайте себя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
FoodSoul Калининград
от 180 000 до 250 000 ₽