Мой рабочий процесс похож на Matthew Trow, но вместо клонирования я предпочитаю импортировать файл bootstrap.less
.
Я использую bower держать Bootstrap обновляется, поэтому моя структура папок, как это:
> bower_components
> bootstrap
> font-awesome
> requirejs
...
> css
- project.css
> less
- project.less
- variables.less
Мой project.less
выглядит следующим образом:
// Bootstrap framework
@import "../../bower_components/bootstrap/less/bootstrap.less";
// Font-awesome awesomeness
@import "../../bower_components/font-awesome/less/font-awesome.less";
// Project specific stuff
@import "variables.less";
@import "stuff.less";
я определяю как мои переменные и переопределить самозагрузки специфические внутри моего variables.less
:
// Override Bootstrap variables
@font-family-sans-serif: "Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;
@btn-default-border: #bbb;
@brand-primary: #b02b2c;
@link-color: #08c;
// Override Font-Awesome variables (path relative to project.css position)
@fa-font-path: "../bower_components/font-awesome/fonts";
//Map Bootstrap variables to myproject specific names
@my-customname-float-breakpoint: @grid-float-breakpoint;
@theme-color: @brand-primary;
//Project specific variables
@my-favourite-color: rgb(228, 1, 1);
Затем я компилирую только project.less
для создания сжатого .css
со всем (в примере также есть Font Awesome).
После того, как огромные переменные и классы обновлены с помощью Bootstrap 3, иногда мне лучше сопоставлять свои пользовательские переменные, чтобы загружать их в мой variables.less
, вместо того, чтобы напрямую использовать Bootstrap внутри моих меньших файлов.
Импорт bootstrap.less
вы можете использовать любую переменную bootstrap везде, где захотите. Так, например:
// Hide all images at a viewport smaller than 992px (aka @screen-md)
@media (max-width: @screen-sm-max) {
img {
display: none;
}
}
Не могли бы вы рассказать о «отображать мои пользовательские переменные для загрузки в мои переменные без указания»? Я ищу хороший шаблон «минимального эффекта повторного использования» для меньших файлов Bootstrap, и ваш намек заставил меня понять, что в этом есть нечто большее, чем я думал изначально. –
Да, например, посмотрите на '@ my-customname-float-breakpoint', где я просто установил его в переменной bootstrap по умолчанию' @ grid-float-breakpoint'. В моем предыдущем рабочем процессе (bootstrap 2.3) я использовал непосредственно переменные Boostrap внутри моих .less-файлов (поэтому не было '@ my-customname-float-breakpoint'). Теперь я предпочитаю сопоставлять их внутри моей переменной. Если в будущем будет имя переменной в Bootstrap, мне нужно будет изменить только 1 строку (без поиска и замены на другие файлы). –
«Тогда я компилирую только project.less для создания сжатого .css со всем» - Как? Вы модифицируете bootstrap gruntfile.js или используете какой-то другой процесс? – user210757