Файл DotLess (.less) master.less для переменных и функций - PullRequest
3 голосов
/ 06 апреля 2011

Есть ли способ использовать файл master.less для размещения всех необходимых параметров конфигурации для .less?

У меня есть следующие переменные, которые мне нужно поместить в начало каждого файла .less в моем решении.

/* DOTLESS VARIABLES AND REUSABLE FUNCTIONS */
@brand_color: #9fdf40;                               /* Primary MySite Green */
@Color: #696969;                                     /* Alternate Text Color */
@top_gradient: #80cc15;                              /* MySite Green for TOP of GRADIENT */
@bottom_gradient: #9fdf40;                           /* MySite Green for BOTTOM of GRADIENT */
@borders: #696969;                                   /* Standard Gray Border */
@light_borders: #DDD;                                /* Lighter Gray Border */
@note: #ffffbe;                                      /* Yellow Notification Color (Also used for ad highlights) */
@font_family: Verdana, Arial, Helvetica, sans-serif; /*Standard MySite Font Family*/

.two-corner-radius(@radius){
    -webkit-border-top-left-radius: @radius;     /* Saf4+, Chrome */
    -moz-border-radius-topleft: @radius;         /* FF3.6+ */
    border-top-left-radius: @radius;             /* CSS3 */
    -webkit-border-bottom-right-radius: @radius; /* Saf4+, Chrome */
    -moz-border-radius-bottomright: @radius;     /* FF3.6+ */
    border-bottom-right-radius: @radius;         /* CSS3 */
}

.gradient(@from:@top_gradient, @to:@bottom_gradient, @fallback:@brand_color) {
    @ffgradient: "-moz-linear-gradient(center bottom, {0} 37%, {1} 72%)";
    @wkgradient: "-webkit-gradient(linear,left top,left bottom,color-stop(0.37, {0}), color-stop(0.72, {1}))";
    @iegradient: "progid:DXImageTransform.Microsoft.gradient(startColorstr='{1}', endColorstr='{0}')";
    @ie8gradient: "\"progid:DXImageTransform.Microsoft.gradient(startColorstr='{1}', endColorstr='{0}')\"";

    background : @fallback;                             /* for non-css3 browsers */
    background : formatstring(@ffgradient, @from, @to); /* FF3.6+ */
    background: formatstring(@wkgradient, @from, @to);  /* Saf4+, Chrome */
    filter: formatstring(@iegradient, @from, @to);      /* IE6,IE7 */
    -ms-filter: formatstring(@ie8gradient, @from, @to); /* IE8 */
}
/* END REUSABLE FUNCTIONS*/

Теперь, очевидно, легче поддерживать необходимость редактировать каждый экземпляр каждой переменной в css (как это обычно делается), однако было бы намного выгоднее, если бы я мог объявить файл master.less для хранения переменных и функции, а затем пусть все мои "sub" файлы .less будут доведены до совершенства CSS.

В настоящее время я использую Chirpy для управления моими файлами .less, который, в свою очередь, использует dotless.core.dll

1 Ответ

8 голосов
/ 06 апреля 2011

Оказывается, есть объявление @import, которое позволяет мне импортировать мой master.less файл.Все, что мне нужно сделать, это поместить это в начало каждого .less файла и использовать все функции / переменные, содержащиеся в нем.

@import "E:\Projects\MyApp\UI\Assets\Css\master.less";

Работает как чемпион.

...