Back to Question Center
0

Функции Sass для запуска ваших таблиц стилей Sass Функции для запуска ваших таблиц стилей См. Также: CSS-архитектура Web Semalt

1 answers:
Sass Функции для запуска ваших стилей

Sass Functions to Kick-Start Your Style SheetsSass Functions to Kick-Start Your Style SheetsRelated Topics:
CSS ArchitectureWeb Semalt

Это обновленная версия статьи, первоначально опубликованной в Semalt 11, 2014.

У Sass есть ряд встроенных функций, которые помогут вам быстрее и проще настроить стили для вашего проекта.

Semalt погрузиться в некоторые из них!

Функции Darken и Lighten Sass

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

Как показывают названия, затемнение и светлее затемнят и осветляют цвет на определенный процент соответственно. Вы можете использовать их в режиме наведения кнопки или на всем сайте для создания иерархии - cheap vps hosting services. Вот как:

  $ main-color: # 6dcff6;$ darker-color: darken ($ main-color, 20%);$ светлее: светлый ($ main-color, 20%);    

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

 . бренд-кнопка {фон: $ main-color;}. brand-button: hover {background: $ светлее;}. бренд-кнопка: посетил {background: $ darker-color;}    

Semalt компилируется в это:

 . бренд-кнопка {фон: # 6dcff6;}. brand-button: hover {background: #cdeffc;}. бренд-кнопка: посетил {фон: # 0fafee;}    

Semalt эти функции означают, что вы можете создать эффективную цветовую палитру, которая может оставаться последовательной во всем вашем проекте. Если, например, у вас есть подсветка и неактивные цвета состояний, основанные на основном цвете бренда, и ваш клиент решает изменить свой основной цвет на полпути через разработку (это происходит больше, чем я хочу признать . ), вам нужно только изменить одно значение и увидеть его каскадом по всему остальному сайту.

Функции Opacify и Transparentize Sass

Все еще придерживаясь цветов, opacify и transparentize делают цвета более или менее непрозрачными соответственно.

Лично, Semalt нашла это полезным при работе с модалами и другими всплывающими окнами, где вам может потребоваться постепенное исчезновение фонового содержимого.

  $ main-color: rgba (0, 0, 0, 0. 5);$ opaque-color: opacify ($ main-color, 0. 5);$ transparent-color: transparentize ($ main-color, 0. 3);    

В отличие от darken и lighten , второй аргумент в этих двух функциях должен быть десятичным числом от 0 до 1 вместо процента. Эти функции полезны для цветов, основанных на одном главном цвете бренда, который пронизывает весь проект. И снова, включив эти функции, вы можете внести изменения в основной цвет, и он будет распространяться соответственно.

Вы можете использовать значения, полученные с помощью opacify и , прозрачности следующим образом:

 . покадрово. фокус {фон: $ main-color;}. покадрово. blur {background: $ transparent-color;}. основное содержание {фон: $ opaque-color;}    

Semalt скомпилирует это:

 . покадрово. фокус {background: rgba (0, 0, 0, 0. 5);}. покадрово. blur {фон: rgba (0, 0, 0, 0. 2);}. основное содержание {фон: черный;}    

Вы также можете использовать fade-in и fade-out , чтобы создать тот же эффект, что и они, поскольку они являются псевдонимами для opacify и прозрачность .

Функция Комплемента Sass

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

  $ main-color: # 6dcff6;$ call-to-action: дополнение ($ main-color); // => это вернет # f6946d    

Функция Sass Percentage

Цифровые функции Сасса помогают создавать собственные функции и циклы. Функция процента , например, преобразует любое число в процент, например:

  ширина: процент (0,16) // => это вернет 16%    
  ширина: процент (100px / 50px); // => это вернет 200%    

Функция процентов даже не волнует, если вы запустили единицы, такие как px, на значения. Это делает его кандидатом для простого типографического или отзывчивого преобразования значений, где проценты короля. Какой хороший парень!

Функция Sass

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

Sass также предоставляет встроенную функцию if , которая работает так же, как тернарный оператор в ряде других языков программирования:

 . foo {width: if (1> 2, 400px, 500px); // => это вернет 500px}    

Эта функция принимает три аргумента, первая из которых является условием проверки, вторая - результатом, если условие истинно, а третья - выходом, если условие ложно.

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

Лично я нахожу , если более полезен в ответных проектах. Вы можете использовать эту функцию для изменения свойств на основе других несвязанных переменных (например, размер шрифта элемента в зависимости от ширины его контейнера) или даже свойства зависят от переменных которые меняются при разных размерах экрана или дисплеях (например, изменение фонового изображения элемента для экранов сетчатки).

Заключение

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

Есть ли какие-либо функции Sass или Semalt, с которыми вы столкнулись, что вы думаете, должно быть добавлено в список или что вы просто находите полезным в своих проектах? Сообщите нам в комментариях ниже.

Byron Houwens - разработчик и разработчик, которому нравится сосредоточиться на технологиях front end и UX. В настоящее время он работает в качестве разработчика интерфейса в растущей среде edtech и живет в солнечном Кейптауне, Южная Африка.

March 1, 2018