7 полезных приемов с функциями на чистом CSS

0
5592

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

Всплывающие подсказки

Необязательно использовать JavaScript для создания подсказок. Чтобы вывести текст в блоке, можно просто использовать атрибут data-tooltip и функцию attr().

Описание на изображении с помощью функции attr()

Функция attr() подходит не только для вывода коротких всплывающих подсказок. С ее помощью всего в несколько строк можно создать анимированное описание для изображений.

See the Pen Thumbnail with Animated Captions by SitePoint (@SitePoint) on CodePen.

Счетчики

С помощью счетчиков можно делать непривычные для каскадных таблиц стилей вещи. Например, разметить страницы, или выводить количество элементов галереи. Или выводить количество выбранных элементов, всего в несколько строк кода и без JavaScript.

See the Pen Selection Counter by Will Boyd (@lonekorean) on CodePen.

Эффект обледенелого стекла, как у Apple

С помощью фильтров можно добиться эффекта размытости для элементов интерфейса, который появился в iOS 7.

See the Pen Frosted glass effect with CSS & SVG by Matori (@Matori) on CodePen.

Удобная сетка с помощью calc()

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

Выравнивание элементов с position: fixed с помощью calc()

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

See the Pen Aligning “position: fixed” elements with CSS calc() by SitePoint (@SitePoint) on CodePen.

Сложная анимация с помощью функции cubic-bezier()

Наиболее известные способы анимации с помощью linear и ease-in-out довольно ограничены. Однако, сложные анимации, вроде перемещения по кривой можно делать с помощью редко используемой функции cubic-bezier(). Если вы не знакомы с математической подоплекой кривых Безье, можно воспользоваться простым генератором.

Дополнительные материалы по теме

Polyscape в таблицах стилей
20 потрясающих техник, библиотек и примеров для стилей