Почему мы стали использовать препроцессор Stylus в Яндекс.Почте, а также о библиотеке, помогающей жить с IE
Содержание:
Библиотека if-ie.styl
согласно БЭМ
if-ie.styl
Дополнительные возможности if-ie.styl
- В обоих файлах нужно подключать библиотеку до всех остальных стилей, и обязательно оба раза. (Может показаться, что хватило бы только первого — ведь таблица стилей для IE уже содержит основную таблицу стилей — но тогда некоторые последующие возможности не будут работать). В этом файле уже определяется , и поэтому в основной таблице стилей не нужно это явно прописывать.
- В таблице стилей для IE пропало условие — это показана работа первой фичи библиотеки: свойство автоматически появится только в таблице стилей для IE. Конечно, и в обычных браузерах можно использовать это свойство, но на практике такая необходимость случается крайне редко, так что можно облегчить основную таблицу стилей хотя бы чуть-чуть.
Похожие товары
-
-
Adonit Note. Стилус для iPad Pro
5 690 ₽
-
Adonit Jot Pro 4. Стилус для сенсорных устройств
3 990 ₽
-
Logitech Crayon. Стилус для студентов и школьников
6 990 ₽
Купить
-
Google Pixelbook Pen. Стилус для планшетного ПК
11 990 ₽
-
-
-
Acer Aspire Active Stylus V. Стилус для сенсорных устройств
4 990 ₽
Купить
-
Adonit Ink Pro. Стилус для Windows
9 890 ₽
-
Adonit Pixel Pro. Емкостной стилус для iPad с имитацией силы нажатия
9 690 ₽
Купить
-
Pencil 53 Holder Slim Soft Case. Чехол для стилуса
1 690 ₽
Купить
-
-
-
Wacom Bamboo Alpha 2. Емкостной стилус
2 890 ₽
Купить
-
Adonit Jot Mini 3. Емкостной стилус
2 690 ₽
-
Adonit Jot Pro 3. Стилус для сенсорных устройств
3 990 ₽
-
Adonit Ink. Стилус для Windows
7 890 ₽
-
-
-
Wacom Bamboo Fineline 3. Стилус для емкостных устройств
4 990 ₽
-
Adonit Dash 3. Стилус для емкостных устройств
6 990 ₽
-
Adonit Snap. Стилус для емкостных устройств
4 890 ₽
-
Just Mobile Alupen Digital Ap-898. Стилус-ручка для дисплеев
3 990 ₽
-
-
-
Uniscend Activetouch. Стилус для планшетов и смартфонов с емкостным дисплеем
2 890 ₽
Купить
-
Pencil 53. Кожаный чехол для стилуса
1 090 ₽
-
Adonit Mark. Стилус для емкостных устройств
от 2 490 ₽
-
Adonit Switch. Стилус для емкостных устройств
4 990 ₽
-
-
-
Wacom Bamboo Smart. Стилус для емкостных устройств
3 990 ₽
Купить
-
FitSand. Чехол для Pencil 53 из войлока
890 ₽
-
Cregle Ink. Стилус для емкостных дисплеев
6 990 ₽
-
Apple Pencil. Стилус для планшета iPad Pro
9 890 ₽
Купить
-
-
-
Wacom Bamboo Fineline 2. Стилус для емкостных устройств
6 990 ₽
-
Adonit Jot Dash. Стилус для емкостных устройств
6 990 ₽
-
Wacom Bamboo Solo 3. Стилус для планшета
2 890 ₽
-
Wacom Bamboo Solo 2. Стилус для планшета
2 790 ₽
-
-
-
Bamboo Feel Carbon. Стилус для планшета
6 990 ₽
-
Wacom Bamboo. Стилус для устройств с емкостным дисплеем
2 790 ₽
-
Cosmonaut. Стилус для емкостных дисплеев
3 490 ₽
Купить
-
Chubby. Стилус для сенсорных устройств
990 ₽
-
-
-
Touch Pen. Стилус-ручка для емкостных дисплеев
от 990 ₽
-
Pogo Connect 2. Cтилус для сенсорных устройств
5 990 ₽
-
Bamboo Feel. Стилус для емкостных экранов
4 790 ₽
-
Wacom Intuos Creative Stylus. Cтилус для устройств на iOS
4 890 ₽
-
-
-
Adonit Jot Flip. Стилус для устройств с емкостным дисплеем
2 890 ₽
-
Adonit Jot Pro. Стилус для емкостных дисплеев
3 490 ₽
-
Sensu Solo. Кисть для рисования на сенсорных экранах
от 1 990 ₽
-
Adonit Jot Script 2. Стилус для емкостных дислпеев
7 690 ₽
-
-
-
Adonit Jot Mini 2. Стилус для емкостных экранов
от 2 490 ₽
-
Adobe Ink & Slide. Набор для рисования на емкостном дисплее
2 990 ₽
Купить
-
Adonit Jot Mini. Стилус для емкостных дисплеев
1 890 ₽
-
Adonit Jot Pro 2. Стилус для емкостных экранов
3 390 ₽
-
-
-
Adonit Jot Script. Стилус для емкостных дисплеев
6 990 ₽
Купить
-
Wacom Bamboo Fineline. Стилус для емкостных устройств
от 4 990 ₽
-
Adonit Jot Touch 4. Стилус для сенсорных устройств
4 490 ₽
-
Sensu Brush. Кисть-стилус для рисования на сенсорных экранах
от 4 990 ₽
-
Выбор препроцессора
LessSassCompass
- , применённое для селектора , должно давать — подобные конструкции нужны для упрощения использования БЭМ-наименования и очень удобны, когда нужно сгенерировать в цикле множество модификаторов.
- , применённое для селектора , должно дать мультикласс , но так в Sass сделать не получится: можно будет дать мультикласс только к , если написать , но не наоборот.
- , применённое к , должно бы уточнить селектор до , но — увы.
фичаStylus
- Stylus — очень гибкий препроцессор, и часто он оказывается гораздо гибче того же Sass. Например, parent references Stylus раскрывает идеально.
- В Stylus есть такая штука как прозрачные миксины — возможность вызвать функцию как обычное CSS-свойство. То есть сначала определить , а потом вызвать её как . Такая запись будет равнозначна вызову . Для обычных функций это не всегда удобно, но зато позволяет переопределить любое имеющееся свойство. Скажем, можно переопределить в . Если серьёзно, то при использовании подобной функциональности можно легко запутаться и усложнить понимание того, что же делает код: ведь не всегда будет ясно, какие функции были определены выше по коду и что произойдёт в результате вызова очередного свойства.
Однако прозрачные миксины очень сильно упрощают поддержку, например, браузерных префиксов. Не нужно запоминать, какие префиксы имеет то или иное свойство, и заботиться о том, нужно ли для очередного свойства писать специальную конструкцию. Достаточно просто всегда писать без префиксов, а об их добавлении позаботится подключённая библиотека (мы используем для этого свой форк nib). - Stylus написан на JS. Это значит, что его проще поддерживать и править в нём баги (все разработчики интерфейса Яндекс.Почты гораздо лучше знают JS, чем Ruby). К тому же это позволяет проще использовать Stylus в цепочке с другими инструментами на node.js (например, CSSO).