Научная статья на тему 'Обзор и преимущества использования css препроцессоров'

Обзор и преимущества использования css препроцессоров Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
591
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
CSS / ПРЕПРОЦЕССОРЫ / LESS / SASS / STYLUS / СТИЛИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ворожейкин Р.В., Абляев М.Р., Аметов Ф.Р., Сейдаметов Г.С.

В работе описаны преимущества и недостатки использование CSS препроцессоров при разработке проектов. Рассматривается понятие CSS препроцессора, проблемы текущего синтаксиса CSS. Проведен анализ наиболее популярных CSS препроцессоров: Less, Sass и Stylus. Описаны преимущества их использования, особенности синтаксиса и дополнительные возможности данных препроцессоров.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Обзор и преимущества использования css препроцессоров»

УДК: 004.4'23

Ворожейкин Р. В.

студент гр. И-1-12,

ГБОУВО РК «Крымский инженерно-педагогический университет»

Абляев М. Р.

студент гр. И-1-12,

ГБОУВО РК «Крымский инженерно-педагогический университет»

Аметов Ф. Р.

студент гр. И-1-12,

ГБОУВО РК «Крымский инженерно-педагогический университет»

Научный руководитель: Сейдаметов Г.С.

ГБОУВО РК «Крымский инженерно-педагогический университет»

ОБЗОР И ПРЕИМУЩЕСТВА ИСПОЛЬЗОВАНИЯ CSS ПРЕПРОЦЕССОРОВ

В работе описаны преимущества и недостатки использование CSS препроцессоров при разработке проектов. Рассматривается понятие CSS препроцессора, проблемы текущего синтаксиса CSS. Проведен анализ наиболее популярных CSS препроцессоров: Less, Sass и Stylus. Описаны преимущества их использования, особенности синтаксиса и дополнительные возможности данных препроцессоров.

Ключевые слова: CSS, препроцессоры, Less, Sass, Stylus, стили.

При создании сайта, разработчики часто используют дополнительные фреймворки, библиотеки, надстройки для упрощения процесса разработки сайта. В настоящее время существует несколько очень популярных CSS препроцессоров, которые облегчают написание стилей сайта. Например, не требуется ввод фигурных скобок, двоеточия, точек с запятой и простых скобок. Также препроцессоры добавляют определенные функциональные возможности к стандартному CSS.

Публикаций и различных научных исследований на тему CSS препроцессоров существует немного. Это связано с тем, что сама идея и реализация CSS препроцессоров очень похожа, а для понимания данной темы достаточно прочтения документации либо подробного руководства. В одном из таких руководств [1] автор описывает смысл использования препроцессоров, приводит пример их использования и указывает на проблемы текущего CSS, которые и привели к созданию CSS препроцессоров.

Автор следующего руководства [2] также описывает CSS препроцессоры. Но в данном руководстве рассматриваются три наиболее популярных препроцессора, а именно Less, Sass и Stylus. В данной статье описываются особенности синтаксиса. Например, в каком препроцессоре исключена необходимость ввода двоеточия, скобок, кавычек, точек с запятой. Также описаны дополнительные функциональные возможности, а именно добавление переменных, наследования, использование функций для работы с цветом, импорт стилей и многое другое. Все это приводится в качестве сравнительного анализа данных препроцессоров. Каждая особенность синтаксиса и добавленного функционала рассматривается отдельно у каждого препроцессора на примере кода и краткого описания.

Целью статьи является описание наиболее популярных CSS препроцессоров, указание преимуществ и недостатков их использования.

CSS препроцессорами называются надстройки над CSS. Данные надстройки добавляют раннее недоступные возможности в CSS.

Основной задачей CSS препроцессоров является предоставление удобных синтаксических конструкций для разработчика с целью упростить, а, следовательно, ускорить разработку и поддержку стилей в проектах.

CSS препроцессоры преобразуют код, написанный с использованием препроцессоров, в чистый CSS-код.

Использование препроцессоров дает ряд преимуществ написанного кода в сравнении с чистым CSS:

- читабельность для человека;

- структурированность;

- производительность;

- логичность.

На данный момент, наиболее популярными CSS препроцессорами являются: Less, Sass, Stylus. Также существует ряд других, менее популярных, препроцессоров, например Closure Stylesheets или CSS Crush.

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

Для использования препроцессоров необходимо установить программу, которая будет отслеживать изменения в файлах, предназначенных для препроцессора, и при выявленных изменениях компилировать содержимое этих файлов в чистый CSS-код.

Также при разработке крупных проектов и использовании в разработке препроцессоров стоит использовать сборщики проектов. Они предоставляют полный контроль процесса сборки CSS-кода и расширенные настройки.

Препроцессор Less написан на JavaScript. Less дополняет CSS динамическими функциями: переменными, примешиваниями, операциями, функциями. Синтаксис Less очень похож на CSS и имеет очень удобную документацию.

Less предоставляет возможность использовать переменные. Для обозначения переменной перед её названием необходимо поставить @, а после названия — двоеточие. Пример использования переменных в Less: @color: #f6f6f6; #footer {

color: @color;

} p {

color: @color;

}

После компиляции в CSS, данный код примет вид: #footer {

color: #f6f6f6;

} p {

color: #f6f6f6;

}

Примеси дают возможность вставлять набор свойств из одного набора правил в другой. Это осуществляется при помощи включения имени класса в качестве одного из свойств другого класса. Также примеси могут принимать аргументы. В целом, примеси упрощают изменение кода, делают его понятнее и яснее. Пример использование примесей в Less: @borders-radius (@rad: 2px) {

-webkit-border-radius: @radius; -moz-border-radius: @radius;

border-radius: @radius;

}

#slider {

.borders-radius;

}

#menu {

.rounded-corners(5px);

}

Данный Less-код будет скомпилирован в следующий CSS-файл: #slider {

-webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px;

}

#menu {

-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;

}

CSS поддерживает логическое каскадирование, но один блок кода в другой вложен быть не может. Препроцессор Less предоставляет возможность вложить один селектор в другой.

Пример вложенных правил: #menu {

h1 {

color: #f7f7f7; font-size: 18px;

}

ul { width: 50%;

li { list-style: none;

&:hover { background-color: e8e8e8;}

}

}

}

Данный Less код будет преобразован в следующий CSS-файл: #menu h1 { color: #f7f7f7;

font-size: 18px;

}

#menu ul {

width: 50%;

}

#menu ul li {

list-style: none;

}

#menu ul li:hover {

background-color: e8e8e8;

}

Less предоставляет возможность использовать операции и функции. При помощи операций можно складывать, делить, вычитать и умножать значения свойств и цветов. Это можно использовать для реализации сложных отношений между различными свойствами: @border-size: 1px; @custom-color: #222222; @blue: #459345;

#menu {

color: @custom-color*3; border-top: @border-size; border-bottom: @border-size*3;

}

#slider {

border-left: @border-size*2; border-color: desaturate(@red, 10%);

}

Данный Less будет скомпилирован в следующий CSS-файл: #menu {

color: #666666; border-top: 1px; border-bottom: 3px;

}

#slider {

border-left: 2px; border-color: $2457ff;

}

Препроцессор Sass отличается отсутствием фигурных скобок, в нем вложенные элементы реализованы с помощью отступов. Так же отсутствует обязательная необходимость в точке с запятой в конце.

Как и Less, Sass предоставляет возможность использование переменных. Но при небольшом отличие — перед названием переменной ставится не @, а $. Пример вложенных правил в Sass: #menu

font-size: 14px .success

border 1px solid #ff33ff

a

text-transform uppercase &:hover

color #fefefe Данный Sass-код будет скомпилирован в следующий CSS: #menu {

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

font-size: 14px;

}

#menu .success {

border: 1px solid #ff33ff;

}

#menu a {

text-transform: uppercase;

}

#menu a:hover {

color: #fefefe;

}

Stylus — это самый молодой, но при этом самый перспективный препроцессор. Написан на JavaScript. В Stylus не требуется ввод фигурных скобок, двоеточия, точек с запятой и простых скобок, но при этом ввод данных символов не запрещен. В отличие от Sass и Less, Stylus не требует указывать какой-либо символ перед названиями переменных.

Так же Stylus не заставляет использовать какой-либо один вариант синтаксиса. То есть в одном файле .styl можно использовать как и стандартный CSS синтаксис, так и синтаксис без необходимости в указании фигурных скобок, двоеточия и точки с запятой.

Stylus включает в себя определенное количество функций для работы с цветами, такие

как:

• lighten (color, 20%) — вернет цвет на 20% светлее чем 'color';

• darkner (color, 20%) — вернет цвет на 20% темнее чем 'color';

• saturate (color, 20%) — вернет цвет на 20% насыщеннее, чем 'color';

• desaturate (color, 20%) — вернет цвет на 20% менее насыщенный, чем 'color'. Каждый из рассмотренных препроцессоров имеет свой уникальный подход к

решению одной и той же задачи. Выбор препроцессора должен основываться от поставленных задач и личных желаний разработчика. Для этого и был проведен краткий обзор данных препроцессоров в данной статье.

Литература

1. CSS препроцессоры [Электронный ресурс]. — 2016. — Режим доступа: https://mrmlnc.gitbooks.io/less-guidebook-for-beginners/content/chapter_1/css-reprocessors.html.

2. Sass vs. Less vs. Stylus [Электронный ресурс]. — 2016. — Режим доступа: http://forwebdev.ru/css/sass-vs-less-vs-stylus/.

i Надоели баннеры? Вы всегда можете отключить рекламу.