Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 5.11 KB

README.md

File metadata and controls

60 lines (43 loc) · 5.11 KB

Custom Properties v.1

Презентация о кастомных свойствах и @apply

Посмотреть

Сделано на основе Shower

See it in action. Includes Ribbon and Material themes, and core with plugins. Follow @shower_me for support and updates, file an issue if you have any.

Quick Start

  1. Fork this repository
  2. Open index.html and start creating your presentation

#Краткое описание. 4) Кастомные свойства. А) Аналог препроцессорных переменных. Они помогают уменьшить повторяемость кода. Б) На больших сайтах бывает нужно сменить какой-то постоянно повторяющийся цвет, и автозаменой это делать не безопасно. Или нужно сменить цветовую схему Похожая ситуация с фреймворками. Чтобы их можно было удобно настраивать нужны переменные.

В) Препроцессорные переменные имеют очень серьёзный недостаток: они статичны и не могут меняться на лету. Нативные Переменные позволяют менять темы на лету.
Переменные позовляют добавить денамику в дикларативный цсс.

Г) Использование переменных дает нам симантическую информацию.  Смысл --main-text-color  более понять чем #00ff00.
  1. Доступны в новых браузерах, к сожалению не имеют возможности иметь обратную совестимость. На мой взгляд, можно эксперементировать во внутренних инструментах или в личных проектах)

  2. Синтаксис кастомных переменных. Для объявление кастомных свойств используется синтаксис с 2-мя минусами. Для использования приминяется функция var(). В которую в качестве аргумента передается переменная. Вторым аргументом можно передать дефолтное значение

  3. JavaScript. Чтобы получить значение кастомного свойства, используйте метод getPropertyValue() объекта CSSStyleDeclaration. Аналогично, чтобы динамически менять значение кастомного свойства, используйте метод setProperty() объекта CSSStyleDeclaration.

  4. Первые впечатления. Эдди Османи в деакбре прошлого года обуликовал в твитере, что хром реализовал, кастостомные переменные. И что он получил в ответ. Было много неодобрительных коммпентариев. Суть которых?

  5. Синтакис такой, а не $foo А) Чтобы не было проблем с препроцессорами Б) Более подробно об этом можно прочесть в статье одного из авторов спецификации, Таба Аткинса (Tab Atkins).

  6. Препроцессорные переменные не наследуются. Препроцессорные переменные сложно совмещать с другим код. Например если подтягиваешь еще другую либу по CDN

  7. Примеры. И фишки использования А) Демо 1 Б) https://googlechrome.github.io/samples/css-custom-properties/index.html Взгляните на пример, чтобы получить представление о разных интересных техниках, которые станут доступным благодаря кастомным свойствам

  8. @apply Аналог миксинов. Реализовано в хроме. Таб Анткинсон.

  • Позовляет вставлять набор свойств.
  • Для использования применяется функция apply();
  1. Выводы
  • Css стримится вопладить фишки препроцессоров, и в будущем мы будем снова писать на чистом цсс
  • Для вечно зеленых браузеров для решения нетревиальных задач есть интересный инструмент.