property | HTML и CSS с примерами кода
Свойство transition-property
устанавливает имя стилевого свойства, значение которого будет отслеживаться для создания эффекта перехода.
- @keyframes
- animation
- animation-delay
- animation-direction
- animation-duration
- animation-fill-mode
- animation-iteration-count
- animation-name
- animation-play-state
- animation-timing-function
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
Синтаксис
/* Keyword values */ transition-property: none; transition-property: all; transition-property: test_05; transition-property: -specific; transition-property: sliding-vertically; transition-property: test1; transition-property: test1, animation4; transition-property: all, height, all; transition-property: all, -moz-specific, sliding; /* Global values */ transition-property: inherit; transition-property: initial; transition-property: unset;
Значения
none
- Никакое свойство не задано.
all
- Все свойства будут отслеживаться.
<свойство>
- Название стилевого свойства, регистр при его написании не учитывается. При указании нескольких свойств они перечисляются друг за другом через запятую.
Примечание
- Chrome до версии 26.0, Safari до версии 6.1 и Android поддерживают свойство
-webkit-transition-property
. - Opera до версии 12.10 поддерживает свойство
-o-transition-property
. - Firefox до версии 16 поддерживает свойство
-moz-transition-property
.
Значение по-умолчанию: all
Применяется ко всем элементам, к псевдоэлементам ::before
и ::after
Спецификации
- CSS Transitions
Поддержка браузерами
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-duration</title> <style> body { margin: 0; } .menu { position: absolute; height: 100px; width: 100%; background: #fc0; border-bottom: 20px solid #333; top: -100px; /* Анимация */ transition-property: top; transition-duration: 2s; } .menu:hover { top: 0; } </style> </head> <body> <div> А здесь у нас будет своё меню с преферансом и профурсетками. </div> </body> </html>
HTML и CSS с примерами кода
Универсальное свойство transition
, которое позволяет одновременно задать значения transition-property
, transition-duration
, transition-timing-function
и transition-delay
.
Устанавливает эффект перехода между двумя состояниями элемента, они могут быть определены с помощью псевдокласса :hover
или :active
, а также динамически через JavaScript.
- @keyframes
- animation
- animation-delay
- animation-direction
- animation-duration
- animation-fill-mode
- animation-iteration-count
- animation-name
- animation-play-state
- animation-timing-function
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
Синтаксис
/* 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 поддерживают свойство
. - Opera до версии 12.10 поддерживает свойство
-o-transition
. - Firefox до версии 16 поддерживает свойство
-moz-transition
.
Значение по-умолчанию: all 0s ease 0s
Применяется ко всем элементам, к псевдоэлементам ::before
и ::after
Спецификации
- CSS Transitions
Поддержка браузерами
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>
CSS-переход
Свойство перехода CSS — это свойство ярлыка для определения переходов CSS. Он объединяет четыре свойства перехода в одно свойство.
В частности, свойство перехода
объединяет следующие свойства: свойство перехода
, длительность перехода
, функция времени перехода
и задержка перехода
.
Обратите внимание, что порядок важен. Значения должны быть указаны в порядке, указанном в разделе «Синтаксис» ниже.
Синтаксис
переход: [<'свойство-перехода'> || <'переход-длительность'>
|| <'функция времени перехода'> || <'transition-delay'> [ [<'transition-property'> || <'переход-длительность'> || <'функция времени перехода'> || <'переход-задержка'>]]*Возможные значения
- <'свойство перехода'>
- Указывает, к какому свойству применить переход. Для получения дополнительной информации об этом свойстве см.
свойство перехода
. - <'продолжительность перехода'>
- Указывает, как долго будет длиться переход. Дополнительные сведения об этом свойстве см. в разделе
transition-duration
. - <'функция синхронизации перехода'>
- Указывает, как ускоряется или замедляется переход. На основе кубической кривой Безье. Для получения дополнительной информации об этом свойстве см.
функция времени перехода
. - <'задержка перехода'>
- Указывает время ожидания до начала эффекта перехода. Для получения дополнительной информации об этом свойстве см.
.
Кроме того, все свойства CSS также принимают следующие значения ключевых слов CSS в качестве единственного компонента значения их свойства:
-
начальный
- Представляет значение, указанное как начальное значение свойства.
-
унаследовать
- Представляет вычисленное значение свойства родительского элемента.
-
снято с охраны
- Это значение действует как
наследует
илиначальный
, в зависимости от того, унаследовано свойство или нет. Другими словами, он устанавливает для всех свойств их родительские значения, если они наследуемые, или их начальные значения, если они не наследуемые.
Основная информация о свойствах
- Исходное значение
- См. отдельные свойства:
свойство перехода
,длительность перехода
,функция времени перехода
изадержка перехода
. - Применяется к
- Все элементы и псевдоэлементы
:до
и:после
- Унаследовано?
- №
- Медиа
- Интерактивный
Пример кода
Базовый CSS
переход: ширина 0,5с линейная 1с;
Рабочий пример в документе HTML
Попробуй
Спецификации CSS
- Свойство
transition
определено в CSS Transitions (рабочий проект W3C от 19 ноября 2013 г.).
Поддержка браузера
В следующей таблице, предоставленной Caniuse.com, показан уровень поддержки этой функции браузерами.
Префиксы поставщиков
Для максимальной совместимости с браузерами многие веб-разработчики добавляют свойства для конкретных браузеров, используя такие расширения, как -webkit-
для Safari, Google Chrome и Opera (более новые версии), -ms-
для Internet Explorer, -moz-
для Firefox, -o-
для более старых версий Opera и т. д. Как и для любого свойства CSS, если браузер не поддерживает проприетарное расширение, он просто проигнорирует его.
Эта практика не рекомендуется W3C, однако во многих случаях единственный способ протестировать свойство — включить расширение CSS, совместимое с вашим браузером.
Основные производители браузеров обычно стремятся придерживаться спецификаций W3C, и когда они поддерживают свойство без префикса, они обычно удаляют версию с префиксом. Кроме того, W3C рекомендует поставщикам удалять свои префиксы для свойств, достигших статуса кандидата в рекомендации.
Многие разработчики используют Autoprefixer, постпроцессор для CSS. Autoprefixer автоматически добавляет префиксы поставщиков в ваш CSS, поэтому вам это не нужно. Он также удаляет старые ненужные префиксы из вашего CSS.
Вы также можете использовать Autoprefixer с такими препроцессорами, как Less и Sass.
CSS Transitions
CSS Transitions — отличный способ добавить некоторые эффекты сглаживания на вашу веб-страницу. Хотя хорошо, что мы можем менять стили в зависимости от состояния элемента (с помощью псевдоселекторов :hover
, :active
и т. д.), иногда может быть немного неприятно, когда эффект возникает сразу при наведении или нажатии и т. д.
Введите CSS-переходы. Переходы позволяют нам сократить время, необходимое для перехода от одного стиля к другому. Мы можем указать, сколько времени должен занять переход, на какие свойства должен повлиять более медленный переход и какой стиль времени перехода должен быть.
Пример
Мы будем работать с простым полем в нашем HTML:
<дел>дел>
И добавьте базовый стиль к блоку и измените несколько вещей, когда мы наводим курсор на блок:
.box { ширина: 300 пикселей; высота: 300 пикселей; цвет фона: аквамарин; маржа: авто; граница: 1px сплошная #333; box-shadow: 10px 10px 5px 0 #999; радиус границы: 10%; } .box:наведите { тень блока: нет; радиус границы: 0; цвет фона: голубой; }
С этим полем состояние :hover
запускается в момент наведения мыши на поле и мгновенно применяются новые стили наведения:
Но мы хотим, чтобы переход от обычного состояния к состоянию наведения был более плавным и плавным. Время переходов!
Параметры перехода
CSS 3 дает нам ряд свойств, которые помогают создавать эффекты перехода между состояниями элемента. Четыре свойства перехода:
-
свойство перехода
-
продолжительность перехода
-
функция времени перехода
-
задержка перехода
свойство перехода
Свойство CSS под названием свойство перехода
позволяет нам выбирать, какие из свойств CSS мы хотим плавно переходить. В приведенном выше примере мы могли бы изменить фоновую тень так, чтобы она медленно исчезала в течение, возможно, 2 секунд, но сделать так, чтобы цвет менялся сразу же после наведения курсора.
С transition-property
мы просто пишем имя каждого свойства CSS, которое мы хотим изменить, с запятыми между именами:
.ящик { ... свойство перехода: box-shadow, border-radius, background-color; }
Однако в данном случае мы просто переписываем все свойств, которые мы добавили в наш класс :hover
. Для этих случаев CSS предоставляет свойство перехода : вариант all
.
Если вы следите за новостями, то можете заметить, что ничего не изменилось! Это потому, что нам также нужно, по необходимости, включить transition-duration
, в противном случае переход будет мгновенным.
transition-duration
Это свойство просто сообщает переходу, сколько времени он должен пройти для завершения. Вот что заставляет волшебство работать:
.box { ... свойство перехода: все; продолжительность перехода: 1 с; }
Теперь у нас есть рабочий переход! Есть несколько других опций, о которых стоит упомянуть перед тем, как закончить
transition-timing-function
Функция времени перехода
— это способ изменить стиль перехода из одного состояния в другое. Все они очень похожи и в основном существуют для того, чтобы добавить небольшой штрих дизайна к анимированным переходам. Лучший способ увидеть разницу между всеми параметрами — проверить пример этого сайта
. Мы добавим transition-timing-function: easy-in-out
в наш CSS:
.box { ... свойство перехода: все; продолжительность перехода: 1 с; функция синхронизации перехода: легкость входа-выхода; }
К последнему свойству перехода
transition-delay
Это просто сообщает CSS, как долго ждать, прежде чем даже начать переход. Это довольно просто, так как вы просто добавили бы transition-delay: 0.1s
в свой CSS, если бы вы хотели, чтобы он ждал десятую долю секунды перед выполнением перехода.
Если вы собираетесь использовать это свойство, мы рекомендуем сделать задержку довольно короткой. В противном случае ваш сайт будет казаться медленнее, чем он есть на самом деле.
Ярлык
переход
свойство Как и многие другие свойства в CSS, есть ярлык, который позволяет нам определить свойство перехода
, длительность перехода
, функция времени перехода
и переход- задержка
свойств все вместе. Он называется просто transition
и идет в следующем порядке:
transition: [свойство-перехода] [длительность-перехода] [функция-времени-перехода] [задержка-перехода];
Квадратные скобки Это НАМНОГО проще, чем выписывать каждое по отдельности! Вы все еще можете поместить туда свое отдельное свойство перехода Свойства перехода CSS Вот окончательный код: []
просто указывают на то, что все они необязательны; на самом деле вы не вводите квадратные скобки. очень часто в CSS сайта можно увидеть что-то вроде следующего:
s вместо всех
, и оно все равно будет работать. Кроссбраузерная совместимость
по-прежнему не используются одинаково в разных браузерах. Для этого есть типичные «префиксы поставщиков», которые вы должны использовать, когда решите использовать переход в своем CSS:
-webkit-transition: все 1s easy-in-out;
-moz-transition: все 0,5 с плавного входа-выхода;
-o-transition: все 0,5 с плавного входа-выхода;
переход: все 0,5 с плавного входа-выхода;
Заключение
.