Stylus - знайомство з препроцесором - Zencoder

December 27, 2014

Настав час познайомитись із препроцесором Stylus. Нижче наводжу переклад статті від David Walsh, присвячену маловідомому, але дуже корисному препроцесору Stylus. Оригінал статті розміщений тут - Getting Started with Stylus

У середовищі web-розробників можна часто і постійно чути лише про два препроцесори: Sass і LESS. Однак існує ще один препроцесор, про який чути зовсім не так часто - це Stylus. За редизайном Mozilla Developer Network мною був обраний Stylus з кількох причин:

Установка Stylus

Препроцесор Stylus є Open Source проектом, розташованим на GitHub, тому його можна легко встановити як із вихідних файлів, так і за допомогою менеджера пакетів:

CSS-файли, створені за допомогою синтаксису Stylus, повинні мати розширення та можуть розташовуватись у будь-якому місці проекту. Препроцесор Stylus не має конфігураційного файлу, для початку компіляції достатньо запустити утиліту командного рядка з мінімальним набором ключів:

Представлена ​​вище команда виконує компіляцію вихідного stylus-файлу в директорію з тим самим ім'ям . Іншими словами, файл компілюється у файл і поміщається до директорії .

Утиліта може запускатися як для одноразової компіляції, а й відстежувати зміни файлів, виконуючи компіляцію на лету; для цього є ключ:

Як можна здогадатися, програма має набагато більше опцій, з повним списком яких можна ознайомитися тут - Executable. Зокрема, за допомогою потрібних ключів можна виконувати зворотну конвертацію з CSS в Stylus, порівнювати введення висновок і багато іншого.

Але приступимо до розгляду найголовнішого, заради чого і затівався цей переклад- синтаксису та можливостям препроцесора Stylus

Основи синтаксису Stylus

Синтаксис Stylus дуже нагадує синтаксис інших препроцессорів (Sass чи LESS). Але давайте детальніше розглянемо, що він із себе представляє на ділі:

У принципі, нічого нового у сказаному вище немає - всі ці моменти також існують в інших препроцесорах. Якщо раптом у синтаксисі не дістає дужок, двокрапок або ком, їх можна сміливо додавати в код - препроцесор Stylus вас чудово зрозуміє і в цьому випадку.

Створення та використання міксинів

Міксини надзвичайно корисні з кількох причин. Завдяки їм під час написання стилів на CSS можна використовувати логіку, і навіть структурувати код.

Створення міксинів у Stylus є простим завданням, а синтаксис міксинів саме таким, яким і очікувалося побачити:

При створенні міксинів під Stylus можна встановити значення за промовчанням для аргументів:

Міксин може повертати значення, що обчислюється, за допомогою ключового слова або ж повертати стилі, визначені всередині самого міксину. Такі стилі можна застосувати до елемента, що викликає цей міксин:

І звичайно ж, усередині міксинів можна використовувати умови (втім, як і в будь-якому іншому місці коду на Stylus):

Представлений вище міксин генерує grid на основі мінімального значення (мінімальної ширини стовпця), максимального значення (максимальної ширини стовпця) та кількості стовпців (яке змінюється за допомогою інкременту). Останній аргумент return-dimension служить для вказівки того, чи міксин просто повертатиме отримане значення, не створюючи CSS-класів.

Корисні міксини Stylus

При роботі над проектом MDN мені знадобилася велика кількість корисних міксинів під Stylus, наприклад таких, якпідтримка RTL, підтримка локалізації, а також підтримка великої кількості браузерів. Нижче я представлю деякі з цих міксинів - можливо, вони знадобляться на практиці деяким читачам.

Обнулення last child

Цей міксин був створений для обнулення порожнього простору в останнього елемента-батька. Як правило, такими просторами CSS є і .

За допомогою цього міксину встановлюється або блок-батька. А потім просто забирається порожній простір у останнього елемента цього блоку.

Стилізація placeholder

Стилізація placeholder є досить хитрою задачею через необхідність використання вендорних префіксів, тому використання міксину значно спрощує це завдання:

Висновок

На цьому переклад закінчено.

Від себе можу додати.

Під Sublime Text 3 є плагін Stylus для підсвічування синтаксису та автоматичної табуляції. Якщо планується подальша робота в Stylus, то даний плагін є обов'язковим до встановлення - без нього просто важко і довго кодувати.

знайомство

Плагін Emmet має підтримку синтаксису Stylus (мене Emmet не перестає тішити). Всі гарячі клавіші Emmet залишилися незмінними і під Stylus, ніби я кодив у старому доброму CSS.

## Git Stash> Я прямо закохався в команду stash від git, хоча до самого git належу без. фанатизму. Команда _git stash_ призначена для. … Continue reading