html.okpython.net
HTML и CSS для начинающих

CSS :: Свойство transition-timing-function

css-свойство transition-timing-function (от англ. transition timing functionвременна́я функция перехода) позволяет управлять плавностью (скоростью) перехода от одного состояния к другому, используя различные значения математической функции Безье, а также значения пошаговой функции.

Характеристики

  • Значение по умолчанию: ease.
  • Применяется: ко всем элементам, а также к псевдоэлементам ::before и ::after.
  • Наследуется: нет.
  • Анимируется: нет.
  • JavaScript: object.style.transitionTimingFunction="value".

Синтаксис

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

Значения

  • cubic-bezier(n1,n2,n3,n4) – поведение перехода будет зависеть от результата вычисления функции Безье, в качестве аргументов которой можно задавать четыре числа от нуля до единицы включительно.
  • ease – соответствует результату функции cubic-bezier(0.25,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 – соответствует результату функции cubic-bezier(0,0,1,1) (постоянная скорость на всем промежутке перехода).
  • steps(n, start || end) – здесь n представляет собой положительное целое число, которое задает число шагов функции, а ключевые слова определяют когда эти шаги будут сделаны – в начале или в конце указанного промежутка времени.
  • step-start – соответствует результату функции step(1,start) (стилевые свойства элемента сразу же принимают конечные значения, при этом эффект перехода как бы отсутствует).
  • step-end – соответствует результату функции step(1,end) (стилевые свойства элемента находятся в исходном состоянии указанное время, а затем скачком принимают конечные значения, при этом эффект перехода как бы отсутствует).

Ссылки

Примеры

HTML Результат htmlCodes
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">  
	<title>Пример №1</title>

	<style>
		div{
		margin-top: 2em;
		overflow: hidden;
		white-space: nowrap;
		padding: 1em;
		width: 200px;
		height: 50px;
		border: solid 4px red;
		cursor: pointer;
		}
				
		/* Задаем общие параметры перехода */
		.tran{
		transition-property: width, background-color;
		transition-delay: 0.3s;
		transition-timing-function: ease;
		transition-duration: 2s;
		}
		
		/* Задаем плавность перехода */ 
		.tran_timing-function_1{
		transition-timing-function: ease;
		}
		
		.tran_timing-function_2{
		transition-timing-function: ease-in;
		}
				
		.tran_timing-function_3{
		transition-timing-function: steps(5,start);
		}
		
		/* Будут изменяться два свойства */
		div.tran:hover{
		background-color: #0000ff;
		width: 400px;
		}
		
	</style>
	
</head>
<body>

	<div>Наведите курсор на блоки!</div>
	
	<div class="tran tran_timing-function_1">
		transition-timing-function: ease;
	</div>

	<div class="tran tran_timing-function_2">
		transition-timing-function: ease-in;
	</div>	

	<div class="tran tran_timing-function_3">
		transition-timing-function: steps(5,start);
	</div>
	
</body>	
</html>	

Пример №1