Изменение переменных Sass Bootstrap для адаптивных шаблонов (только для мобильных устройств или компьютеров)

Я работаю над сайтом, который выбрал адаптивный маршрут (отдельные шаблоны для мобильных и настольных компьютеров) на многих страницах сайта, а не адаптивный. Он по-прежнему использует Bootstrap для этих шаблонов и загружает все css для различных контрольных точек Bootstrap. Я надеюсь, что смогу использовать переменные Sass Bootstrap (https://github.com/twbs/bootstrap-sass), чтобы удалить много ненужного css. Чтобы усложнить ситуацию, мобильные шаблоны были закодированы с использованием классов sm, а не xs. Например, col-sm-16 (они настроили Bootstrap на 16 столбцов вместо 12).

Итак, есть ли способ изменить переменные Sass, чтобы выводить только необходимые css для мобильных и настольных шаблонов соответственно? В основном я пытаюсь сократить количество загружаемых css для оптимизации производительности.

Еще одна вещь, которую вы, возможно, должны знать, это то, что мы используем только небольшую точку останова для рабочего стола. Я изменил вары как таковые:

$screen-xs:                     640px;
// //** Deprecated `$screen-xs-min` as of v3.2.0
// $screen-xs-min:              $screen-xs !default;
// //** Deprecated `$screen-phone` as of v3.0.1
// $screen-phone:               $screen-xs-min !default;

// // Small screen / tablet
// //** Deprecated `$screen-sm` as of v3.0.1
$screen-sm:                     640px;
// $screen-sm-min:              $screen-sm !default;
// //** Deprecated `$screen-tablet` as of v3.0.1
// $screen-tablet:              $screen-sm-min !default;

// // Medium screen / desktop
// //** Deprecated `$screen-md` as of v3.0.1
$screen-md:                     640px;
// $screen-md-min:              $screen-md !default;
// //** Deprecated `$screen-desktop` as of v3.0.1
// $screen-desktop:             $screen-md-min !default;

// // Large screen / wide desktop
// //** Deprecated `$screen-lg` as of v3.0.1
$screen-lg:                     9999px;

Есть ли лучший способ, если учесть, что я пытаюсь удалить стили xs для таблицы стилей рабочего стола?


person eighthnote    schedule 26.08.2015    source источник


Ответы (1)


Переменные в Bootstrap3 дают вам простой способ настроить полученный код CSS, но не позволяют выбирать, что вам нужно включать, а что нет. Единственное решение — отредактировать файлы Bootstrap *.scss и удалить ненужный код. Например, попробуйте удалить несколько строк «make-grid(…)» из bootstrap/_grid.scss.

person Māris Kiseļovs    schedule 26.08.2015
comment
Спасибо, Марис. Я только начал смотреть тот самый файл, который вы рекомендовали. Я пытался избежать изменений в ядре для удобства сопровождения, но корректировка нескольких строк здесь не должна вызвать слишком много проблем. Я, вероятно, буду использовать какой-то @if, чтобы не дублировать _grid.scss для различных выходных данных. Спасибо еще раз! - person eighthnote; 26.08.2015
comment
Просто хотел добавить, что, поскольку мы используем только классы sm, я должен просто иметь возможность комментировать другие медиа-запросы и включать make-grid в _grid.scss. - person eighthnote; 26.08.2015