CSS transition-property — які властивості анімувати плавно


Властивість transition-property встановлює ім'я стильової властивості, значення якого буде відслідковуватися для створення ефекту переходу. Найчастіше відслідковується положення курсора.

Дозволено вказувати декілька властивостей, вони перераховуються через кому. Ефект починає працювати, тільки тоді, коли хоча б одна зазначена властивість змінилася.

Можна задавати декілька значень одночасно, розділивши їх комами. Для відслідковування всіх можливих властивостей задайте ключове слово all. Наприклад transition-property: width, color, font-size; означає, що ефект буде застосований лише для цих властивостей.

Якщо задати для transition-property в якості значення універсальну властивість, буде анімовано також всі її під-властивості.

автор: Svitlana

Загальний опис

автор: NagarD

Порада

Завжди вказуйте властивість transition-duration, якщо цього не зробити тривалість переходу буде 0s, тому перехід не матиме ніякого ефекту.

автор: Svitlana
Нотатка

Зверніть увагу, що набір властивостей, які можливо анімувати змінюється. Тому Ви мусите уникати включення до списку значень transition-property властивостей, які не можна анімувати, щоб у майбутньому це не викликало несподівані результати.

автор: Svitlana

Синтаксис

transition-property: none|all|property|initial|inherit;

Властивість transition-property може отримувати 5 значень:

none

Властивість не задана. Без задання.

автор: Svitlana

all

Всі властивості відслідковуються.

автор: Svitlana

property

Назва стильової властивості. При вказівці декількох властивостей вони перераховуються через кому. Примітка: Регістр імені властивості не враховується.

автор: Svitlana

initial

Встановлює властивість у значення без задання

автор: Svitlana

inherit

Вказує на спадковість властивості від свого батьківського елемента (якщо відповідна властивість встановлена).

автор: Svitlana

Значення без задання: all
Наслідує: Ні
Анімується: Ні
JavaScript синтаксис: object.style.transitionProperty="width,height"

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
26 16 9 12.1 12 10
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 26 16 9

Приклади

+ запропонувати свій приклад у пісочниці

Простий приклад роботи властивості

HTML

<div class="block">
	<code>transition: width .2s ease-out .15s</code>
</div>

<div class="block block2">
	<code>transition: width, color .2s ease-out .15s</code>
</div>

CSS

body {
  padding: 36px;
}

.block {
  width: 400px;
  background-color: gold;
  color: #444;
  font-size: 15px;
  padding: 16px 8px;
  transition: width .62s ease-out .15s;
  margin-bottom: 36px;
}

.block2 {
  transition-property: width, color;
}

.block:hover {
  width: 425px;
  color: red;
}
автор: Svitlana

transition-property: width обмежує перехід лише шириною: при наведенні ширина їде плавно, а колір тла стрибає миттєво.

HTML

<div>Наведи: ширина плавно, колір одразу</div>

CSS

div {
    width: 170px;
    padding: 8px;
    background: #0172ad;
    color: #fff;
    transition-property: width;
    transition-duration: 1s;
}

div:hover {
    width: 300px;
    background: #d81b60;
}
автор: Svitlana

Динамічний приклад впливу різних значень на анімування елементу

HTML

<p>Вибери потрібні значення для <code>transition-property</code>, а потім спробуй навести курсор на блок:</p>

<select id="form">
  <option value="all" name="value2" selected>all</option>
  <option value="width" name="value2">width</option>
  <option value="color" name="value2">color</option>
  <option value="background" name="value2">background</option>
</select>

<p id="text"></p>

<hr>

<div id="block"><p>Блок</p></div>

CSS

* {
  box-sizing: border-box;
  padding: 0;
}

body {
  text-align: center;
  font-family: monospace;
  font-size: 17px;
  line-height: 1.5;
  color: #222;
}


#form {
  padding: 8px 16px;
  font-size: 19px;
}

#block {
  margin: 75px auto 0 auto;
  background: gold;
  width: 250px;
  padding: 16px;
  font-size: 18px;
  color: #222;
  transition: all .75s ease-in 0s;
}

#block:hover {
  width: 350px;
  color: red;
  background: #000;
}

JS

var block = document.getElementById('block');
var form = document.getElementById('form');
var text = document.getElementById('text');

var textArray = { 'all': 'Анімуються всі задані властивості',
  'width': 'Анімується тільки ширина',
  'color': 'Анімується тільки колір тексту',
  'background': 'Анімується тільки фоновий колір' };

form.onchange = function change() {

  var newVal = getNewValue();
  block.style.transitionProperty = newVal;
  text.innerHTML = textArray[newVal];

};

function getNewValue() {

  var result = '';

  for (var i = 0; i < form.options.length; i++) {if (window.CP.shouldStopExecution(0)) break;
    if (form.options[i].selected == true) {
      result = form.options[i].value;
    }
  }window.CP.exitedLoop(0);

  return result;

}
//# sourceURL=pen.js
автор: Svitlana

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід