Товаров: 0 (0р.)

Css ease in out: transition-timing-function | htmlbook.ru

Содержание

transition-timing-function | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
10.0+4.0+26.0+10.5+12.10+3.0+4.0+16.0+4.02.0+

Краткая информация

Версии CSS

CSS 1CSS 2CSS 2.1CSS 3

Описание

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

transition-timing-function представляет собой математическую функцию, показывающую, как быстро по времени меняется указанное через transition-property значение свойства.

Начальная точка имеет координаты 0.0, 0.0, конечная — 1.0, 1.0, при этом функция по оси ординат может превышать эти значения в большую или меньшую сторону (рис. 1).

Рис. 1. Вид функции

Синтаксис

transition-timing-function: ease|ease-in|ease-out|ease-in-out|linear|step-start|step-end|steps|cubic-bezier

Значения

ease
Анимация начинается медленно, затем ускоряется и к концу движения опять замедляется. Аналогично cubic-bezier(0.25,0.1,0.25,1).
ease-in
Анимация медленно начинается, к концу ускоряется. Аналогично cubic-bezier(0.42,0,1,1).
ease-out
Анимация начинается быстро, к концу замедляется. Аналогично cubic-bezier(0,0,0.58,1).
ease-in-out
Анимация начинается и заканчивается медленно. Аналогично cubic-bezier(0.42,0,0.58,1).
linear
Одинаковая скорость от начала и до конца.
step-start
Как таковой анимации нет. Стилевые свойства сразу же принимают конечное значение.
step-end
Как таковой анимации нет. Стилевые свойства находятся в начальном значении заданное время, затем сразу же принимают конечное значение.
steps
Ступенчатая функция, имеющая заданное число шагов.

transition-timing-function: steps(<число>, start | end)

 
Здесь: <число> — целое число больше нуля; start — задаёт полунепрерывную снизу функцию; end — задаёт полунепрерывную сверху функцию.
 
cubic-bezier
Задаёт функцию движения в виде кривой Безье.

ease

ease-in

ease-out

ease-in-out

linear

step-start

step-end

steps(2, start)

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

ease

ease-in

ease-out

ease-in-out

linear

step-start

step-end

steps(5, end)

cubic-bezier(0.1, -0.6, 0.2, 0)

Пример

HTML5CSS3IE 10+CrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>transition-timing-function</title>
  <style>
   .progress {
    background: #333; /* Фон */
    border: 2px solid #333; /* Рамка */
    height: 20px; /* Высота */
    position: relative; /* Относительное позиционирование */
   }
   .progress:hover::before{
    width: 100%;
   }
   .progress::before{
    transition-timing-function: linear;
    transition-duration: 5s;
    content: '';
    position: absolute; /* Абсолютное позиционирование */
    height: 100%; width: 0;
    background: #FFA600; /* Фон */
   }
  </style>
 </head>
 <body>
  <div></div>
 </body>
</html>

Объектная модель

[window. ]document.getElementById(«elementID»).style.transitionTimingFunction

Браузеры

Chrome до версии 26.0, Safari и iOS поддерживают нестандартное свойство -webkit-transition-timing-function.

Opera до версии 12.10 поддерживает нестандартное свойство -o-transition-timing-function.

Firefox до версии 16.0 поддерживает нестандартное свойство -moz-transition-timing-function.

Safari поддерживает значение steps только с версии 5.1.

transition | CSS (Примеры)

Универсальное свойство transition, которое позволяет одновременно задать значения transition-property, transition-duration, transition-timing-function и transition-delay.

Устанавливает эффект перехода между двумя состояниями элемента, они могут быть определены с помощью псевдокласса :hover или :active, а также динамически через JavaScript.

Переходы и Анимации

Синтаксис

/* Apply to 1 property */
/* property name | duration */
transition: margin-right 4s;

/* property name | duration | delay */
transition: margin-right 4s 1s;

/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;

/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;

/* Apply to 2 properties */
transition: margin-right 4s, color 1s;

/* Apply to all changed properties */
transition: all 0. 5s ease-out;

/* Global values */
transition: inherit;
transition: initial;
transition: unset;

Значения

none
Отменяет эффект перехода.

Примечание

  • Chrome до версии 26, Safari до версии 6.1 и Android поддерживают свойство -webkit-transition.
  • Opera до версии 12.10 поддерживает свойство -o-transition.
  • Firefox до версии 16 поддерживает свойство -moz-transition.

Значение по-умолчанию: all 0s ease 0s

Применяется ко всем элементам, к псевдоэлементам ::before и ::after

Спецификации

Поддержка браузерами

Can I Use css-transitions? Data on support for the css-transitions feature across the major browsers from caniuse.com.

Описание и примеры

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>transition</title>
    <style>
      #bar {
        top: -5. 5em;
        right: 5em; /* Положение */
        padding: 0.5em; /* Поля */
        margin: 0; /* Отступы */
        position: absolute; /* Абсолютное позиционирование */
        width: 2em; /* Ширина */
        background: #333; /* Цвет фона */
        color: #fff; /* Цвет текста */
        text-align: center; /* Выравнивание по центру */
        /* Переход */
        transition: top 1s ease-out 0.5s;
      }
      #bar:hover {
        top: 0;
      }
    </style>
  </head>
  <body>
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>↓</li>
    </ul>
  </body>
</html>

Разница между легкостью перехода CSS3 и легкостью выхода

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

.

  • ease-in будет медленно запускать анимацию и заканчивать на полной скорости.
  • ease-out запустит анимацию на полной скорости, затем медленно закончится.
  • ease-in-out начнется медленно, будет быстрее всего в середине анимации, затем медленно закончится.
  • easeвроде бы ease-in-out, только начинается чуть быстрее, чем заканчивается.
  • linear не использует ослабление.
  • И, наконец, вот большое описание в cubic-bezierсинтаксисе, но это, как правило , не требуется , если вы не хотите , чтобы некоторые очень точные эффектов.

По сути, ослабление означает замедление до остановки, замедление — медленное ускорение, а линейное — ни того, ни другого. Вы можете найти более подробные ресурсы в документации timing-functionпо MDN .

А если вам нужны вышеупомянутые точные эффекты, вам подойдет сайт cubic-bezier.com от Lea Verou ! Это также полезно для графического сравнения различных временных функций.

Другой, функция времени , действует как , но выполняет только конечное число шагов между началом в переходном и его конце. был наиболее полезен для меня в анимации CSS3, а не в переходах; хороший пример — загрузка индикаторов точками. Традиционно используется серия статических изображений (скажем, восемь точек, по две меняющих цвет в каждом кадре), чтобы создать иллюзию движения. С помощью анимации и преобразования вы используете движение для создания иллюзии отдельных кадров! Как весело.

steps()linearsteps()steps(8)rotate

transition — CSS: Cascading Style Sheets

Это свойство является сокращением для следующих свойств CSS:

 

переход: маржа-право 4с;


переход: margin-right 4s 1s;


переход: маржа-право 4s легкость входа-выхода;


переход: маржа-вправо 4с легкость входа-выхода 1с;


переход: край-правый 4с, цвет 1с;


переход: все 0,5 сек.


переход: наследование;
переход: начальный;
переход: не установлен;
  

Переход Свойство определяется как один или несколько переходов с одним свойством, разделенных запятыми.

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

  • ноль или одно значение, представляющее свойство, к которому должен применяться переход. Это может быть любое из:
    • ключевое слово нет
    • ключевое слово все
    • a именование свойства CSS.
  • ноль или один значение, представляющее функцию ослабления для использования
  • ноль, один или два <время> значений.Первое значение, которое может быть проанализировано как время, назначается для длительности перехода , а второе значение, которое может быть проанализировано как время, назначается для задержки перехода .

Посмотрите, как поступают, когда списки значений свойств не одинаковой длины. Короче говоря, дополнительные описания переходов, превышающие количество реально анимируемых свойств, игнорируются.

  <одиночный переход> # где <одиночный переход> = [нет | ] || <время> || <функция ослабления> || <время>, где  = all |   = linear |  | , где  = easy | легкость в использовании | легкость выхода | легкость установки | кубическая-Безье ([0,1]>, <число>, [0,1]>, <число>) <функция-синхронизация-шага> = начало-шага | шаг-конец | шаги (<целое число> [, <позиция-шага>]?), где <позиция-шага> = начало скачка | переходник | прыжок-нет | прыжок-оба | начало | конец  

Простой пример

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

HTML
   Наведите на меня   
CSS
  .target {
  размер шрифта: 14 пикселей;
  переход: font-size 4s 1s;
}

. target: hover {
  размер шрифта: 36 пикселей;
}
  

Есть еще несколько примеров переходов CSS, включенных в статью Использование переходов CSS.

Таблицы BCD загружаются только в браузере

transition-time-function — CSS: Cascading Style Sheets

Свойство transition-Timing-function CSS устанавливает способ вычисления промежуточных значений для свойств CSS, на которые влияет эффект перехода.

Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, клонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на перенос.

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

Эта кривая ускорения определяется с использованием одной для каждого свойства, которое будет изменено.

Вы можете указать несколько функций замедления; каждый из них будет применен к соответствующему свойству, как указано в свойстве свойства перехода , которое действует как список свойства перехода . Если задано меньше функций замедления, чем в списке transition-property , пользовательский агент должен вычислить, какое значение используется, повторяя список значений, пока не будет по одному для каждого свойства перехода. Если есть больше функций плавности, список обрезается до нужного размера.В обоих случаях объявление CSS остается действительным.

 
временная функция перехода: легкость;
временная функция перехода: легкость входа;
временная функция перехода: легкость выхода;
временная функция перехода: легкость входа-выхода;
временная функция перехода: линейная;
временная функция перехода: шаг-старт;
временная функция перехода: конец шага;


временная функция перехода: шаги (4, отрывной);
временная функция перехода: кубическая функция Безье (0,1, 0,7, 1,0, 0,1);


временная функция перехода: шаги (4, скачок);
временная функция перехода: шаги (10, отскок);
временная функция перехода: шаги (20, без скачка);
временная функция перехода: шаги (5, оба прыжка);
временная функция перехода: шаги (6, начало);
временная функция перехода: шаги (8, конец);


временная-переходная функция: легкость, пошаговое начало, кубический безье (0. 1, 0,7, 1,0, 0,1);


временная функция перехода: наследование;
временная функция перехода: начальная;
временная функция перехода: не задано;  

Значения

<функция-фрезеровка>
Каждый представляет функцию замедления для связи с соответствующим свойством перехода, как определено в transition-property .

Нешаговые значения ключевых слов (легкость, линейность, легкость входа и т. Д.) Представляют собой кубическую кривую Безье с фиксированными четырехточечными значениями, при этом значение функции cubic-bezier () допускает непредопределенное значение.Функции пошаговой синхронизации делят время ввода на заданное количество интервалов равной длины. Он определяется количеством шагов и положением шага.

легкость
Равно кубической кривой Безье (0,25, 0,1, 0,25, 1,0). , значение по умолчанию, увеличивает скорость к середине перехода, замедляясь в конце.
линейный
Равно кубической кривой Безье (0,0, 0,0, 1,0, 1,0) , переходы с одинаковой скоростью.
простой
Равно кубической кривой Безье (0,42, 0, 1,0, 1,0) , начинается медленно, скорость перехода увеличивается до завершения.
выдвижной
Равно кубической кривой Безье (0, 0, 0,58, 1,0) , начинает быстро переходить, замедление перехода продолжается. •
легкость ввода-вывода
Равно кубической кривой Безье (0,42, 0, 0,58, 1,0) , начинает медленно переходить, ускоряется, а затем снова замедляется.
кубическая безье (p1, p2, p3, p4)
Автор определил кубическую кривую Безье, где значения p1 и p3 должны находиться в диапазоне от 0 до 1.
шагов (n, )
Отображает переход вдоль n остановок вдоль перехода, отображая каждую остановку в течение равных промежутков времени. Например, если n равно 5, есть 5 шагов. Держится ли переход временно на 0%, 20%, 40%, 60% и 80%, на 20%, 40%, 60%, 80% и 100%, или делает 5 остановок между 0% и 100% вдоль переход или делает 5 остановок, включая отметки 0% и 100% (на 0%, 25%, 50%, 75% и 100%), зависит от того, какой из следующих условий перехода используется:
от внешнего источника
Обозначает непрерывную влево функцию, так что первый переход происходит, когда переход начинается;
перемычка
Обозначает непрерывную вправо функцию, так что последний прыжок происходит, когда анимация заканчивается;
без прыжка
Нет прыжков с обеих сторон.Вместо этого, удерживая как отметку 0%, так и отметку 100%, каждая в течение 1 / n продолжительности
переходник-оба
Включает паузы как у отметок 0%, так и у 100%, эффективно добавляя шаг во время перехода.
начало
То же, что и для запуска от внешнего источника.
конец
То же, что и перемычка .
шаг-старт
Равно шагов (1, запуск от внешнего источника)
ступенчатая
Равно шагов (1, откидной)

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

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

  <функция-сглаживание> # где <функция-сглаживание> = линейный |  | , где  = easy | легкость в использовании | легкость выхода | легкость установки | кубическая-Безье ([0,1]>, <число>, [0,1]>, <число>) <функция-синхронизация-шага> = начало-шага | шаг-конец | шаги (<целое число> [, <позиция-шага>]?), где <позиция-шага> = начало скачка | переходник | прыжок-нет | прыжок-оба | начало | конец  

Примеры Кубика-Безье

 .простота {
   временная функция перехода: легкость;
}
.easein {
   временная функция перехода: легкость входа;
}
.easeout {
   временная функция перехода: легкость выхода;
}
.easeinout {
   временная функция перехода: легкость входа-выхода;
}
.linear {
   временная функция перехода: линейная;
}
.cb {
   временная функция перехода: кубическая Безье (0,2, -2,0,8,2);
}  

Примеры шагов

  .jump-start {
   временная функция перехода: шаги (5, скачок);
}
. jump-end {
   временная функция перехода: шаги (5, отрывной);
}
.jump-none {
   временная функция перехода: шаги (5, без перехода);
}
.jump-both {
   временная функция перехода: шаги (5, оба прыжка);
}
.step-start {
   временная функция перехода: шаг-старт;
}
.step-end {
   временная функция перехода: конец шага;
}  

Таблицы BCD загружаются только в браузер

Основы замедления | Основы Интернета | Разработчики Google

Пол — адвокат по дизайну и исполнению

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

TL; DR

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

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

Ослабляющие ключевые слова

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

Вот некоторые ключевые слова, которые вы можете использовать в CSS:

  • линейный
  • простой
  • выдвижной
  • легкость ввода-вывода

Источник: CSS Transitions, W3C

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

Линейные анимации

Анимации без какого-либо замедления обозначаются как linear . График линейного перехода выглядит так:

По мере того, как время идет, значение увеличивается в равной степени. При линейном движении вещи, как правило, кажутся роботизированными и неестественными, и это то, что пользователей раздражает. Вообще говоря, вам следует избегать линейного движения.

Программируете ли вы анимацию с помощью CSS или JavaScript, вы обнаружите, что всегда есть возможность линейного движения.

Посмотреть линейную анимацию

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

  переход: линейное преобразование 500 мс;
  

Простая анимация

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

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

Посмотреть анимационный ролик

Есть много способов добиться эффекта ослабления, но самый простой — это ключевое слово easy-out в CSS:

  переход: преобразование, замедление 500 мс;
  

Простая анимация

Анимация замедления начинается медленно и быстро заканчивается, что противоположно анимации замедления.

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

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

Посмотреть анимацию упрощения

Чтобы использовать легкую анимацию, как и линейную анимацию, вы можете использовать ключевое слово:

  переход: преобразование Легкость входа 500 мс;
  

Легкость вывода анимации

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

Не используйте слишком большую продолжительность анимации из-за медленного начала анимации. Обычно подходит что-то в диапазоне 300-500 мс, но точное число во многом зависит от ощущения от вашего проекта. Тем не менее, из-за медленного начала, быстрой середины и медленного конца анимация имеет повышенный контраст, что может быть вполне удовлетворительным для пользователей.

См. Анимационную выкладку

Чтобы получить анимацию легкости вывода, вы можете использовать ключевое слово CSS easy-in-out :

  переход: преобразование 500 мс легкость входа-выхода;
  

Обратная связь

Была ли эта страница полезной?

Есть

Что было самым лучшим на этой странице?

Это помогло мне выполнить мои цели

Спасибо за ваш отзыв!Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

У него была необходимая мне информация

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Имеет точную информацию

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Легко читалось

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Что-то еще

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Что было хуже всего на этой странице?

Это не помогло мне выполнить мои цели

Спасибо за ваш отзыв!Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Отсутствовала необходимая мне информация

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Он имел неточную информацию

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Трудно было прочитать

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

Что-то еще

Спасибо за ваш отзыв! Если у вас есть конкретные идеи, как улучшить эту страницу, пожалуйста, создать проблему.

css — Разница между легкостью перехода CSS3 и легкостью выхода

CSS3 переходы и анимация поддерживают замедление, формально называемое «функцией времени». Распространенными являются easy-in , easy-out , easy-in-out , easy и linear , или вы можете указать свои, используя cubic-bezier () .

  • easy-in запускает анимацию медленно и завершает на полной скорости.
  • easy-out запустит анимацию на полной скорости, а затем медленно завершит.
  • easy-in-out будет начинаться медленно, быстрее всего в середине анимации, затем медленно заканчиваться.
  • easy похож на easy-in-out , за исключением того, что он начинается немного быстрее, чем заканчивается.
  • linear не использует замедление.
  • Наконец, вот отличное описание синтаксиса cubic-bezier , но обычно в этом нет необходимости, если вам не нужны очень точные эффекты.

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

А если вам нужны вышеупомянутые точные эффекты, то сайт cubic-bezier.com от Леа Веру — для вас! Это также полезно для графического сравнения различных временных функций.

Другая, функция синхронизации шагов () , действует как linear , но выполняет только конечное количество шагов между началом и концом перехода. steps () больше всего пригодился мне в анимации CSS3, а не в переходах; хороший пример — загрузка индикаторов точками.Традиционно используется серия статических изображений (скажем, восемь точек, по две меняющих цвет в каждом кадре), чтобы создать иллюзию движения. С помощью анимации шагов (8) и преобразования поворота вы используете движение для создания иллюзии отдельных кадров! Как весело.

Transition Timing Function — Tailwind CSS

Использование

Используйте утилиты easy- {time} для управления кривой плавности элемента.

Отзывчивый

Чтобы управлять функцией времени перехода элемента в определенной точке останова, добавьте префикс {screen}: к любой существующей утилите функции времени перехода.Например, используйте md: easy-in-out , чтобы применить утилиту easy-in-out только для средних размеров экрана и выше.

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

Настройка

Значения времени

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

 
  module.exports = {
    тема: {
      продлевать: {
        transitionTimingFunction: {
+ 'in-expo': 'кубический безье (0,95, 0,05, 0,795, 0,035)',
+ 'out-expo': 'cubic-bezier (0,19, 1, 0,22, 1)',
        }
      }
    }
  }  

Дополнительные сведения о настройке темы по умолчанию см. В документации по настройке темы.

Варианты

По умолчанию для утилит функции времени перехода генерируются только ответные варианты.

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

Например, эта конфигурация также будет генерировать варианты наведения и фокусировки:

 
  module.exports = {
    варианты: {
      продлевать: {
        
+ transitionTimingFunction: ['hover', 'focus'],
      }
    }
  }  

Если вы не планируете использовать в своем проекте служебные программы функции времени перехода, вы можете полностью отключить их, установив для свойства transitionTimingFunction значение false в разделе corePlugins вашего файла конфигурации:

 
  модуль.экспорт = {
    corePlugins: {
      
+ transitionTimingFunction: false,
    }
  }  

Эксперименты с переходами CSS

Если вы еще не слышали, добавить анимацию с помощью CSS довольно просто. В наши дни для этого не нужны jQuery или Javascript.

  / *
.div {
  transition:    
}
* /

/* Пример */

.div {
  переход: 100 мс ширина 500 мс легкость;
}
  

В примере выше:

  • 500 мс — время, необходимое для завершения перехода (500 мс == 0.5с)
  • ширина — свойство, которое мы хотим преобразовать
  • легкость — функция синхронизации, легкость по умолчанию, которая начинается медленно, затем быстро, а затем заканчивается медленно
  • 100 мс — время задержки перед запуском (100 мс == 0,1 с)

В DC / OS у нас есть поток для создания новой службы. В этом потоке вы можете переключиться в «Режим JSON», после чего появится текстовый редактор. Чтобы экспериментировать в команде с разными скоростями и методами, я собрал этот Codepen.

См. Эксперимент Pen CSS Transitions Experiment от Ли Манро (@leemunroe) на CodePen.

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

  • легкость выхода 400 мс
  • куб. Безье (.17, .67, .83, .67) 1000 мс
  • куб. Безье (0,05, 0,34, 0,96, 0,67) 400 мс
  • Дополнительные примеры можно найти на сайте cubic-bezier.com

Еще несколько советов по переходам CSS

Изменение определенных свойств, таких как left и margin, заставляет браузер пересчитывать стили каждый кадр.Это довольно дорого и может привести к ненужной перерисовке, особенно если на экране много элементов. Подробнее о подводных камнях от Alex Maccaw.

Вместо того, чтобы придерживаться стандартных функций времени, которые могут быть «скучными», поскольку каждая анимация в этом случае выглядит одинаково, рассмотрите возможность использования пользовательского кубического безье для управления кривой движения. Больше о кубике Безье в Smashing Magazine.

От 200 мс до 500 мс секунд — хороший диапазон для начала анимации интерфейса.100 мс воспринимаются как мгновенные. 1 секунда — это предел. Подробнее о скорости анимации от Val Head.

Как использовать свойство перехода CSS

Фото Сабри Тузку на Unsplash

Или как я понимаю переходы CSS

Я нахожусь в пути, чтобы изучить анимацию CSS, и я решил начать со свойства CSS transition .

Прежде чем читать это, вы должны иметь базовые знания HTML и CSS.

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

Имеется 4 свойства анимации перехода . Их:

  • переход-собственность
  • продолжительность перехода
  • функция синхронизации перехода
  • задержка перехода

Я разберу каждое из этих свойств здесь.

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

Начальное состояние переходный Конечное состояние
непрозрачность 0 0.5 👍 1
дисплей нет без промежуточного состояния 😢 блок

transition-duration : Это продолжительность анимации. Или сколько времени потребуется для завершения. При использовании этой продолжительности следует иметь в виду, что пользователей раздражает, если это занимает слишком много времени. С другой стороны, это раздражает, если это происходит слишком быстро или может быть незаметно, если оно даже анимировано.Попробуйте найти золотую середину, которая кажется правильной и имеет определенную продолжительность.

transition-delay : это время задержки перед запуском анимации. Возможно, вы захотите, чтобы несколько анимаций выполнялись одновременно, но, возможно, вы захотите отложить фоновый переход на 0,25 с , прежде чем вы начнете переходить с изменяющимся цветом.

функция времени перехода : Это немного сложно понять. По сути, это функция, которую вы даете своей анимации для выполнения во время этой анимации.

У вас есть выбор:

  • easy — значение по умолчанию (возможно, наиболее часто используемое). Дает мягкий старт и переходит к переходу.
  • easy-in — медленно в начале, быстро / резко в конце
  • easy-out — быстро / резко в начале и медленно в конце
  • easy-in-out — Честно говоря, я не вижу разницы между функцией easy-in-out , но в основном это смесь двух вышеперечисленных.
  • linear — одинаковая постоянная скорость на всем протяжении
  • cubic-bezier — Это последовательность координат xy, передаваемая функции, которая отображает контрольные точки для временной кривой. Это немного сложно и заслуживает более подробного описания, чем я приведу здесь. Кубический Безье

Вы можете сократить эти свойства, используя свойство transition и добавив свойства, как показано ниже.
переход: [свойство] [продолжительность] [задержка] [временная функция];

Вот пример перехода на кнопочном элементе.

Начнем с HTML и CSS

  

  <основной>
    
  
  / * Запуск CSS * /
тело {
  фон: светло-голубой;
}

.container {
  выравнивание текста: центр;
}

.btn {
  маржа: 20 пикселей автоматически;
  отступ: 20 пикселей;
  ширина: 180 пикселей;
  радиус границы: 20 пикселей;
  размер шрифта: 1. 4em;
}
  

Затем мы добавим цвет и состояние наведения

  / *... * /

.btn {
  маржа: 20 пикселей автоматически;
  отступ: 20 пикселей;
  ширина: 180 пикселей;
  радиус границы: 20 пикселей;
  размер шрифта: 1.4em;
  фон: папайавип;
}

.btn: hover {
  фон: лазурный;
}
  

Затем добавим переход

  / * ... * /

.btn {
  маржа: 20 пикселей автоматически;
  отступ: 20 пикселей;
  ширина: 180 пикселей;
  радиус границы: 20 пикселей;
  размер шрифта: 1.4em;
  фон: папайавип;
  переход: фон .5s легкость;
  / * Выбирает свойство фона и устанавливает его для перехода в лазурный цвет в.5 секунд */
}

.btn: hover {
  фон: лазурный;
}
  

Мы также можем добавить анимацию роста

  / * ... * /

.btn {
  / * ... * /
  переход: фон .5s, легкость .25s, ширина .25s, легкость входа-выхода;
}

.btn: hover {
  фон: лазурный;
  ширина: 210 пикселей;
}
  

Здесь вы можете увидеть рабочий пример:

Это довольно надуманный пример, но я чувствую, что он иллюстрирует базовый вариант использования этого свойства без излишней путаницы.

Следующие шаги
Дальше я перейду к преобразованию CSS. Я очень рад видеть, как я могу использовать оба этих свойства вместе, чтобы сделать что-нибудь крутое.

Примечание

Это сообщение в блоге является частью схемы обучения, которой я стараюсь следовать. Есть несколько модулей, которые вам нужно заполнить на каждом этапе процесса обучения. Преподавание — один из таких модулей, и именно об этом и написано данное сообщение в блоге. Эта структура взята из 10 шагов Джона Сонмеза, которые помогут быстро научиться чему угодно.Курс Джона. Я не заработаю денег, если вы купите это, поскольку я никоим образом не аффилирован. Тем не менее, я очень рекомендую это.

.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *