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) |