123 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: CSS3 Transitions
 | ||
| localeTitle: Переходы CSS3
 | ||
| ---
 | ||
| ## Переходы CSS3
 | ||
| 
 | ||
| Использование **переходов** CSS3 может быть полезно, если вы хотите, чтобы ваше приложение или ваша веб-страница были более динамичными и красивыми.
 | ||
| 
 | ||
| Действительно, переходы позволяют вам изменять свойства ( `width` , `color` , ...) **плавно** .
 | ||
| 
 | ||
| Свойство `transition` является сокращенным свойством для `transition-property` `transition-duration` `transition-timing-function` `transition-delay` , синтаксисом является следующее:
 | ||
| 
 | ||
| ```css
 | ||
| transition: transition-property transition-duration transition-timing-function transition-delay 
 | ||
| ```
 | ||
| 
 | ||
| Например :
 | ||
| ```
 | ||
| transition: width 2s ease-in-out 1s; 
 | ||
| ```
 | ||
| 
 | ||
| ### Описание свойств
 | ||
| 
 | ||
| #### `transition-property`
 | ||
| 
 | ||
| Укажите **имя** свойства, к которому вы должны применить переход:
 | ||
| 
 | ||
| *   `background-color`
 | ||
| *   `color`
 | ||
| *   `width`
 | ||
| *   `height`
 | ||
| *   `margin`
 | ||
| *   `border-radius`
 | ||
| *   И так далее !
 | ||
| 
 | ||
| Например :
 | ||
| ```
 | ||
| transition-property: width; /* means the transition applies on the width */ 
 | ||
| ```
 | ||
| 
 | ||
| #### `transition-duration`
 | ||
| 
 | ||
| Укажите **количество секунд или миллисекунд, которые** должен **пройти** переход:
 | ||
| 
 | ||
| Например :
 | ||
| ```
 | ||
| transition-duration: 2s /* means the transition effect last 2s */ 
 | ||
| ```
 | ||
| 
 | ||
| #### `transition-timing-function`
 | ||
| 
 | ||
| Укажите **кривую скорости** эффекта перехода. Таким образом, вы можете изменить **скорость** своего **перехода на протяжении своей продолжительности** .
 | ||
| 
 | ||
| Вот наиболее используемые значения:
 | ||
| 
 | ||
| *   `linear`
 | ||
| *   `ease`
 | ||
| *   `ease-in`
 | ||
| *   `ease-out`
 | ||
| *   `ease-in-out`
 | ||
| *   `cubic-bezier(n, n, n, n)`
 | ||
| 
 | ||
| Например :
 | ||
| 
 | ||
| ```css
 | ||
| transition-timing-function: linear 
 | ||
| ```
 | ||
| 
 | ||
| NB: Все приведенные выше значения на самом деле являются специфическими `cubic-bezier` . `linear` , например, эквивалентен `cubic-bezier(0.25,0.1,0.25,1)`
 | ||
| 
 | ||
| Вы можете поэкспериментировать и узнать больше о _Cubic Bezier_ [здесь](http://cubic-bezier.com/)
 | ||
| 
 | ||
| #### `transition-delay`
 | ||
| 
 | ||
| Укажите в **секундах или миллисекундах** , когда переход будет **запущен.**
 | ||
| 
 | ||
| Например :
 | ||
| ```
 | ||
| transition-delay: 1s /* means wait 1s before the transition effect start */ 
 | ||
| ```
 | ||
| 
 | ||
| ### Как использовать переходы?
 | ||
| 
 | ||
| Вы можете написать переход двумя способами:
 | ||
| 
 | ||
| #### Использование сокращенного свойства ( `transition` )
 | ||
| 
 | ||
| ```css
 | ||
| div { 
 | ||
|   width: 200px; 
 | ||
|   transition: all 1s ease-in-out; 
 | ||
|  } 
 | ||
|  
 | ||
|  div:hover { 
 | ||
|   width: 300px; 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| #### Предоставление всех свойств перехода значения
 | ||
| 
 | ||
| ```css
 | ||
| div { 
 | ||
|   width: 200px; 
 | ||
|   transition-property: width; 
 | ||
|   transition-duration: 1s; 
 | ||
|   transition-timing-function: ease-in-out; 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| NB: Оба примера **эквивалентны**
 | ||
| 
 | ||
| ### Примеры
 | ||
| 
 | ||
| Вот несколько простых ручек, содержащих простые переходы:
 | ||
| 
 | ||
| *   [Основные переходы](https://codepen.io/thomlom/pen/gGqzNp)
 | ||
| *   [Переходы + JavaScript](https://codepen.io/thomlom/pen/JrxZKz?editors=1111)
 | ||
| 
 | ||
| #### Дополнительная информация:
 | ||
| 
 | ||
| *   [w3schools: Переходы CSS3](https://www.w3schools.com/css/css3_transitions.asp)
 | ||
| *   [Веб-документы MDN: использование переходов CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
 | ||
| *   [DevTips: переход CSS](https://www.youtube.com/watch?v=8kK-cA99SA0) |