moz-transition — свойство css :: руководство cssdot.ru
Свойство -moz-transition
— универсальное свойство для задание эффекта анимированного перехода при изменении css-свойств элемента. Данное свойство представляет сокращенную запись для одновременного задания всех свойства перехода — свойство, к изменению которого будет применен плавный переход -moz-transition-property
, длительность перехода -moz-transition-duration
, способ расчета промежуточных значений -moz-transition-timing-function
и задержку перед началом перехода -moz-transition-delay
.
Анимированный переход будет совершаться при изменении тех свойств элемента, которые указанны в -moz-transition-property, например, при помощи javascript. Не для всех свойств возможно задание анимированного перерода при изменении значения (например, труда себе представить, как должен выглядить анимированный переход при изменении свойства display) Список CSS свойств, к которым возможно применять эффект анимированного перехода, представлен далее:
background-color | цвет |
background-image | только градиенты |
background-position | проценты, размер |
border-bottom-color | цвет |
border-bottom-width | расстояние |
border-color | цвет |
border-left-color | цвет |
border-left-width | расстояние |
border-right-color | цвет |
border-right-width | расстояние |
border-spacing | расстояние |
border-top-color | цвет |
border-top-width | расстояние |
border-width | расстояние |
bottom | расстояние, проценты |
color | цвет |
crop | rectangle |
font-size | расстояние, проценты |
font-weight | число |
<grid-*> | various |
height | расстояние, проценты |
left | расстояние, проценты |
letter-spacing | расстояние |
line-height | число, расстояние, проценты |
margin-bottom | расстояние |
margin-left | расстояние |
margin-right | расстояние |
margin-top | расстояние |
max-height | расстояние, проценты |
max-width | расстояние, проценты |
min-height | расстояние, проценты |
min-width | расстояние, проценты |
opacity | число |
outline-color | цвет |
outline-offset | число |
outline-width | расстояние |
padding-bottom | расстояние |
padding-left | расстояние |
padding-right | расстояние |
padding-top | расстояние |
right | расстояние, проценты |
text-indent | расстояние, проценты |
text-shadow | shadow |
top | расстояние, проценты |
vertical-align | keywords, расстояние, проценты |
visibility | visibility |
width | расстояние, проценты |
word-spacing | расстояние, проценты |
z-index | число |
zoom | число |
Пример
Свойство -moz-transition
относится к спецификации CSS, применяется к все элементы, и псевдоэлементы :before и :after, и действует на всех визуальный носителях, его значение не наследуется от родительского элемента в иерархии документа, Является расширением движка Gecko (браузер Firefox), и не совместимо с другими браузерами.
Смотри также:
- transition — свойства анимационного перехода
- transition-property — имя css-свойства, к которому будет применен анимационный переход.
- transition-duration — длительность анимационного перехода
- transition-timing-function — функция зависимости значения css-свойства от времени во течении анимационного перехода
- transition-delay — задержка перед выполнением анимационного перехода
- -moz-transition-property — имя css-свойства, к которому будет применен анимационный переход.
- -moz-transition-duration — длительность анимационного перехода
- -moz-transition-timing-function — функция зависимости значения css-свойства от времени во течении анимационного перехода
- -moz-transition-delay — задержка перед выполнением анимационного перехода
- -webkit-transition — свойства анимационного перехода
- -webkit-transition-property — имя css-свойства, к которому будет применен анимационный переход.
- -webkit-transition-duration — длительность анимационного перехода
- -webkit-transition-timing-function — функция зависимости значения css-свойства от времени во течении анимационного перехода
- -webkit-transition-delay — задержка перед выполнением анимационного перехода
- -o-transition — свойства анимационного перехода
- -o-transition-property — имя css-свойства, к которому будет применен анимационный переход.
- -o-transition-duration — длительность анимационного перехода
- -o-transition-timing-function — функция зависимости значения css-свойства от времени во течении анимационного перехода
- -o-transition-delay — задержка перед выполнением анимационного перехода
Краткое описание
свойства анимационного перехода
Синтаксис:
[<‘transition-property’> || <‘transition-duration’> || <‘transition-timing-function’> || <‘transition-delay’> [, [<‘transition-property’> || <‘transition-duration’> || <‘transition-timing-function’> || <‘transition-delay’>]]*
Применяется к:
все элементы, и псевдоэлементы :before и :after
Наследование:
не наследуетсяТип носителя:
визуальный
Объектная модель документа (DOM):
[элемент].style[‘-moz-transition’]
Кроссбраузерная совместимость
Internet Explorer
не поддерживаетсяFirefox
Chrome
не поддерживаетсяSafari
не поддерживаетсяOpera
не поддерживаетсяtransition | htmlbook.
ruInternet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |||
10.0+ | 1.0+ | 26.0+ | 11.6+ | 12.10+ | 3.0+ | 4.0+ | 16.0+ | 2.1 | 2.0+ |
Краткая информация
Значение по умолчанию | all 0s ease 0s |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, к псевдоэлементам ::before и ::after |
Процентная запись | Неприменима |
Ссылка на спецификацию | http://dev.w3.org/csswg/css3-transitions/#transition |
Версии CSS
Описание
Универсальное свойство, которое позволяет одновременно задать значения transition-property, transition-duration, transition-timing-function и transition-delay. Устанавливает эффект перехода между двумя состояниями элемента, они могут быть определены с помощью псевдоэлемента :hover или :active, а также динамически через JavaScript.
Синтаксис
transition: <переход> [, <переход> ]*
Здесь:
<переход> = [ none | <transition-property> ] || <transition-duration> ||
<transition-timing-function> || <transition-delay>
Значения
- none
- Отменяет эффект перехода.
Пример
HTML5CSS3IE 10+CrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>transition</title> <style> #bar { top:-5.5em; right:5em; /* Положение */ padding: .5em; /* Поля */ margin: 0; /* Отступы */ position: absolute; /* Абсолютное позиционирование */ width: 2em; /* Ширина */ background: #333; /* Цвет фона */ color: #fff; /* Цвет текста */ text-align: center; /* Выравнивание по центру */ /* Переход */ -webkit-transition: top 1s ease-out 0.5s; -moz-transition: top 1s ease-out 0.5s; -o-transition: top 1s ease-out 0.
5s; 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>
В данном примере при наведении курсора на стрелку, раскрывается блок с числами.
Объектная модель
[window.]document.getElementById(«elementID»).style.transition
Браузеры
Chrome до версии 26.0, Safari, Android и iOS поддерживают нестандартное свойство -webkit-transition.
Opera до версии 12.10 поддерживает нестандартное свойство -o-transition.
Firefox до версии 16.0 поддерживает нестандартное свойство -moz-transition.
transition-property | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |||
10. 0+ | 1.0+ | 26.0+ | 11.6+ | 12.10+ | 3.0+ | 4.0+ | 16.0+ | 2.1 | 2.0+ |
Краткая информация
Версии CSS
Описание
Устанавливает имя стилевого свойства, значение которого будет отслеживаться для создания эффекта перехода.
Синтаксис
transition-property: none | all | <свойство> [,<свойство>]*
Значения
- none
- Никакое свойство не задано.
- all
- Все свойства будут отслеживаться.
- <свойство>
- Название стилевого свойства, регистр при его написании не учитывается. При указании нескольких свойств они перечисляются друг за другом через запятую.
Пример
HTML5CSS3IE 10+CrOpSaFx
<!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;
/* Анимация */
-webkit-transition-property: top;
-moz-transition-property: top;
-o-transition-property: top;
transition-property: top;
-webkit-transition-duration: 2s;
-moz-transition-duration: 2s;
-o-transition-duration: 2s;
transition-duration: 2s;
}
. menu:hover { top: 0; }
</style>
</head>
<body>
<div>
А здесь у нас будет своё
меню с преферансом и профурсетками.
</div>
</body>
</html>
В данном примере при наведении курсора на блок он плавно изменяет своё положение.
Объектная модель
[window.]document.getElementById(«elementID»).style.transitionProperty
Браузеры
Chrome до версии 26.0, Safari, Android и iOS поддерживают нестандартное свойство -webkit-transition-property.
Opera до версии 12.10 поддерживает нестандартное свойство -o-transition-property.
Firefox до версии 16.0 поддерживает нестандартное свойство -moz-transition-property.
transition-duration | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |||
10.0+ | 1.0+ | 26.0+ | 11.6+ | 12.10+ | 3. 0+ | 4.0+ | 16.0+ | 2.1 | 2.0+ |
Краткая информация
Значение по умолчанию | 0s |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, к псевдоэлементам ::before и ::after |
Процентная запись | Неприменима |
Ссылка на спецификацию | http://dev.w3.org/csswg/css-transitions/#transition-duration |
Версии CSS
Описание
Задаёт время в секундах или миллисекундах, сколько должна длиться анимация перехода до её завершения. По умолчанию значение равно 0s, это означает, что никакой анимации нет, переход происходит мгновенно.
Можно указать несколько значений, перечисляя их через запятую. Каждое значение применяется к свойствам, заданным через transition-property.
Синтаксис
transition-duration: <время> [,<время>]*
Значения
См. время.
Пример
HTML5CSS3IE 10+CrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>transition-duration</title>
<style>
. warn {
padding: 20px;
-webkit-transition-duration: 2s;
-o-transition-duration: 2s;
-moz-transition-duration: 2s;
transition-duration: 2s;
}
.warn:hover {
background: #fc0;
}
</style>
</head>
<body>
<div>Вы не учли, что скалярное
поле необходимо и достаточно!</div>
</body>
</html>
В данном примере при наведении курсора на блок текста меняется цвет фона под блоком.
Браузеры
Chrome до версии 26.0, Safari, Android и iOS поддерживают нестандартное свойство -webkit-transition-duration.
Opera до версии 12.10 поддерживает нестандартное свойство -o-transition-duration.
Firefox до версии 16.0 поддерживает нестандартное свойство -moz-transition-duration.
moz-transition — изменение текста при ролловере другого объекта
Я ищу реальный пример того, как сделать что-то подобное:
Ролловер на изображении вызывает выделение текста, как на этой странице: http://shop. parklafun.com/футболки/
css rolloverПоделиться Источник bikeechick 13 мая 2012 в 06:00
2 ответа
- Изменение -webkit-transition-delay с jquery
В настоящее время я устанавливаю здесь свою задержку: .isotope .isotope-item { -webkit-transition-property: left, top, opacity; -moz-transition-property: left, top, opacity; -ms-transition-property: left, top, opacity; -o-transition-property: left, top, opacity; transition-property: left, top,…
- показать полную версию миниатюры при ролловере с jQuery?
WordPress создает новое изображение уменьшенного размера, когда я указываю размеры, которые я хочу, чтобы оно отображалось, поэтому, когда я выбираю 300 x 230, он создает этот файл в качестве источника изображения: http://example.com/myphoto-300×230.jpg из этой полноразмерной версии:…
0
Если я правильно понял ваш вопрос, то -moz-transition
не меняет цвет текста. Вот код, который меняет цвет:
div.ProductList div.grid_6:hover > a .ProductDetails h3
Поделиться sandeep 13 мая 2012 в 06:08
0
Это не-moz-переход , возможно, что метка скрыта на этом изображении, и она отображается на событии onMouseOver javascript.
Поделиться Abhishek Singh 13 мая 2012 в 06:16
Похожие вопросы:
CSS анимация для эффекта наведения
У меня есть jsfiddle , настроенный из кода, который у меня есть до сих пор. В принципе, я не могу сделать анимацию опрокидывания с наведением курсора для основного текста в каждом ul. Поэтому при…
Текст мерцает при использовании css transition opacity и transform rotate в moz
У меня возникла проблема в moz (работа в webkit) текст мерцает при наведении курсора. Пожалуйста, посмотрите эту демонстрацию для примера: https://jsfiddle.net/1zy253vv/3 / Я попытался добавить…
-moz-transition-duration не работает?
ниже у вас есть код, который я использую, чтобы попытаться достичь анимации 3D: Вот fiddle и код: http://jsfiddle.net/82C2N / <html> <head> <title>3D CSS Animation</title>…
Изменение -webkit-transition-delay с jquery
В настоящее время я устанавливаю здесь свою задержку: .isotope .isotope-item { -webkit-transition-property: left, top, opacity; -moz-transition-property: left, top, opacity; -ms-transition-property:…
показать полную версию миниатюры при ролловере с jQuery?
WordPress создает новое изображение уменьшенного размера, когда я указываю размеры, которые я хочу, чтобы оно отображалось, поэтому, когда я выбираю 300 x 230, он создает этот файл в качестве…
-webkit-transition/-moz-transition против jQuery
Это вопрос из двух частей: Какой прикладной стиль имеет приоритет: правило -webkit-transition в CSS или аналогичный метод $. css() в jQuery? Есть ли смысл включать правило -webkit-transition в мою…
Как установить свойство-moz-transition изнутри JavaScript?
Я хочу реализовать -moz-transition: text-shadow 0.25s ease-in-out,font-size 0.25s ease-in-out; собственность через JavaScript. Каков синтаксис для этого?
Изменение прозрачности другого объекта
Я пишу сценарий LSL, прикрепленный к объекту, и хотел бы изменить прозрачность другого объекта, который у меня есть UUID (хранится в переменной key ). Я читал документацию, но даже не могу понять,…
избегайте перехода при наведении курсора на различную скорость изменения текста и цвета фона
У меня есть проблема в том, что у меня есть эффект hover , который не отображает то же самое изменение для текста color , что и изменение background-color . Есть ли какой-нибудь способ избежать…
Изменение текста при наведении курсора, CSS и html
Я хочу изменить текст при наведении курсора мыши на speechbubble (уже созданный) и установить текст обратно, когда мышь вернется. У меня есть текст Welcome!, установленный на speechbubble, и я хочу,…
CSS3-переходы (свойство transition)
CSS3-переходы позволяют анимировать исходное значение CSS-свойства на новое значение с течением времени, управляя скоростью смены значений свойств. Большинство свойств меняют свои значения за 16 миллисекунд, поэтому рекомендуемое время стандартного перехода — 200ms.
Смена свойств происходит при наступлении определенного события, которое описывается соответствующим псевдоклассом. Чаще всего используется псевдокласс :hover. Данный псевдокласс не работает на мобильных устройствах, таких как iPhone или Android. Универсальным решением, работающим в настольных и мобильных браузерах, будет обработка событий с помощью JavaScript (например, переключение классов при клике).
Переходы применяются ко всем элементам, а также к псевдоэлементам :before и :after. Для задания всех свойств перехода обычно используют краткую запись свойства transition.
CSS3-переходы могут применяться не ко всем свойствам и их значениям. Подробный перечень вы найдёте на этой странице.
Создание плавных изменений свойств элементов
Поддержка браузерами
IE: 10.0
Firefox: 16.0, 4.0 -moz-
Chrome: 26.0, 4.0 -webkit-
Safari: 6.1, 3.1 -webkit-
Opera: 12.1, 11.6 -o-
iOS Safari: 7.1
Opera Mini: —
Android Browser: 4.4, 4.1 -webkit-
Chrome for Android: 44
1. Название свойства transition-property
Содержит название CSS-свойств, к которым будет применен эффект перехода. Значение свойства может содержать как одно свойство, так и список свойств через запятую. При создании перехода можно использовать как начальное, так и конечное состояние элемента. Свойство не наследуется.
Создаваемые эффекты должны быть ненавязчивыми. Не все свойства требуют плавного изменения во времени, что связано с пользовательским опытом. Например, при наведении на ссылку мы хотим видеть мгновенную смену цвета ссылки или цвета и стиля подчёркивания. Поэтому переходы следует использовать для тех свойств, к которым действительно нужно привлечь внимание.
transition-property | |
---|---|
Значения: | |
none | Отсутствие свойства для перехода. |
all | Значение по умолчанию. Применяет эффект перехода ко всем свойствам элемента. |
свойство | Определяет список CSS-свойств, перечисленных через запятую, участвующих в переходе. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Синтаксис
div {
width: 100px;
transition-property: width;
}
div:hover {
width: 300px;
}
2.
Продолжительность перехода transition-durationЗадаёт промежуток времени, в течение которого должен осуществляться переход. Если разные свойства имеют разные значения для перехода, они указываются через запятую. Если продолжительность перехода не указана, то анимация при смене значений свойств происходить не будет. Свойство не наследуется.
transition-duration | |
---|---|
Значения: | |
время | Время перехода указывается в секундах или миллисекундах, например, 2s или 5ms. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Синтаксис
div {
transition-duration: .2s;
}
See the Pen LRpLbk by Elena (@html5book) on CodePen.
3. Функция перехода transition-timing-function
Свойство задаёт временную функцию, которая описывает скорость перехода объекта от одного значения к другому. Если вы определяете более одного перехода для элемент, например, цвет фона элемента и его положение, вы можете использовать разные функции для каждого свойства. Свойство не наследуется.
transition-timing-function | |
---|---|
Значения: | |
ease | Функция по умолчанию, переход начинается медленно, разгоняется быстро и замедляется в конце. Соответствует cubic-bezier(0.25,0.1,0.25,1). |
linear | Переход происходит равномерно на протяжении всего времени, без колебаний в скорости. Соответствует cubic-bezier(0,0,1,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). |
cubic-bezier(x1, y1, x2, y2) | Позволяет вручную установить значения от 0 до 1 для кривой ускорения. На этом сайте вы сможете построить любую траекторию перехода. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Синтаксис
div {
transition-timing-function: linear;
}
See the Pen CSS Timing Function by Elena Nazarova (@nazarelen) on CodePen.
Для создания более реалистичных анимаций используйте функцию cubic Bézier:
Рис. 1. Пользовательские функции cubic Bézier с сайта easings.netПользовательское название | Значение функции |
---|---|
easeInSine | cubic-bezier(0.47, 0, 0.745, 0.715) |
easeOutSine | cubic-bezier(0.39, 0.575, 0.565, 1) |
easeInOutSine | cubic-bezier(0.445, 0.05, 0.55, 0.95) |
easeInQuad | cubic-bezier(0.55, 0.085, 0.68, 0.53) |
easeOutQuad | cubic-bezier(0.25, 0.46, 0.45, 0.94) |
easeInOutQuad | cubic-bezier(0.455, 0.03, 0.515, 0.955) |
easeInCubic | cubic-bezier(0.55, 0.055, 0.675, 0.19) |
easeOutCubic | cubic-bezier(0.215, 0.61, 0.355, 1) |
easeInOutCubic | cubic-bezier(0.645, 0.045, 0.355, 1) |
easeInQuart | cubic-bezier(0.895, 0.03, 0.685, 0.22) |
easeOutQuart | cubic-bezier(0. 165, 0.84, 0.44, 1) |
easeInOutQuart | cubic-bezier(0.77, 0, 0.175, 1) |
easeInQuint | cubic-bezier(0.755, 0.05, 0.855, 0.06) |
easeOutQuint | cubic-bezier(0.23, 1, 0.32, 1) |
easeInOutQuint | cubic-bezier(0.86, 0, 0.07, 1) |
easeInExpo | cubic-bezier(0.95, 0.05, 0.795, 0.035) |
easeOutExpo | cubic-bezier(0.19, 1, 0.22, 1) |
easeInOutExpo | cubic-bezier(1, 0, 0, 1) |
easeInCirc | cubic-bezier(0.6, 0.04, 0.98, 0.335) |
easeOutCirc | cubic-bezier(0.075, 0.82, 0.165, 1) |
easeInOutCirc | cubic-bezier(0.785, 0.135, 0.15, 0.86) |
easeInBack | cubic-bezier(0.6, -0.28, 0.735, 0.045) |
easeOutBack | cubic-bezier(0. 175, 0.885, 0.32, 1.275) |
easeInOutBack | cubic-bezier(0.68, -0.55, 0.265, 1.55) |
4. Задержка перехода transition-delay
Необязательное свойство, позволяет сделать так, чтобы изменение свойства происходило не моментально, а с некоторой задержкой. Не наследуется.
transition-delay | |
---|---|
Значения: | |
время | Время задержки перехода указывается в секундах или миллисекундах. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Синтаксис
div {
transition-delay: .5s;
}
See the Pen wzKZoj by Elena (@html5book) on CodePen.
5. Краткая запись перехода
Все свойства, отвечающие за изменение внешнего вида элемента, можно объединить в одно свойство transition
transition: transition-property transition-duration transition-timing-function transition-delay;
Если воспользоваться значениями по умолчанию, то запись
div {transition: 1s;}
будет эквивалентна
div {transition: all 1s ease 0s;}
6.
Плавный переход нескольких свойствДля элемента можно задать несколько последовательных переходов, перечислив их через запятую. Каждый переход можно оформить своей временной функцией.
div {transition: background 0.3s ease, color 0.2s linear;}
или
div {
transition-property: height, width, background-color;
transition-duration: 3s;
transition-timing-function: ease-in, ease, linear;
}
7. Примеры переходов для различных свойств
Наведите курсором мыши на блоки, чтобы увидеть свойства в действии.
See the Pen gbLXYK by HeleN (@nazarelen) on CodePen.
Свойство transition-delay | CSS справочник
CSS свойстваОпределение и применение
CSS свойство transition-delay определяет, когда эффект перехода начнется (выступает в роли задержки начала эффекта).
Поддержка браузерами
CSS синтаксис:
transition-delay:"time(s/ms) | initial | inherit";
JavaScript синтаксис:
object.style.transitionDelay = "300ms"
Значения свойства
Значение | Описание |
---|---|
time | Указывает число секунд(s) или миллисекунд(ms) ожидания перед тем, как эфект перехода начнется. Значение по умолчанию составляет 0 секунд (отсутствие времени ожидания). Допускается указывать более одного значения задержки перед началом эффекта перехода. В этом случае значения указываются через запятую, и каждое новое значение задержки соответствует значению (в том же порядке), которое определено в свойстве transition-property. Если список задержек меньше, чем количество значений (свойств), определённых свойством transition-property, то значения задержек эффекта перехода для оставшихся свойств будут использованы еще раз (по кругу). Если определено больше задержек, чем значений, указанных в свойстве transition-property, то список задержек усекается до количества значений этого свойства. |
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Указывает, что значение наследуется от родительского элемента. |
Версия CSS
CSS3Наследуется
Нет.Анимируемое
Нет.Пример использования
<!DOCTYPE html> <html> <head> <title>Задержка эффекта перехода в CSS</title> <style> div { width : 90px; /* устанавливаем ширину блока */ height : 90px; /* устанавливаем высоту блока */ background-color : yellow; /* устанавливает цвет заднего фона */ border : 5px dashed black; /* устанавливает пунктирную границу размером 5px черного цвета */ display : inline-block; /* устанавливаем элементы <div> как блочно-строчные (выстраиваем в линейку) */ margin-right : 15px; /* устанавливаем величину отступа от правого края элемента */ } div:hover { height : 200px; /* устанавливаем высоту блока при наведении на элемент (псевдокласс :hover) */ } . test { transition-duration : 5s; /* устанавливаем длительность перехода равную 5 секундам */ transition-delay : 1s; /* устанавливаем задержку перехода длительностью 1 секунда */ } .test2 { transition-duration : 2s; /* устанавливаем длительность перехода равную 2 секундам */ transition-delay : 2s; /* устанавливаем задержку перехода длительностью 2 секундч */ } .test3 { transition-duration : 400ms; /* устанавливаем длительность перехода равную 400 миллисекундам (0,4 секунды) */ transition-delay : 900ms; /* устанавливаем задержку перехода длительностью 900 миллисекунд (0,9 секунды) */ } </style> </head> <body> <div class = "test">delay 1s</div> <div class = "test2">delay 2s</div> <div class = "test3">delay 900ms</div> </body> </html>Задержка эффекта перехода в CSS (свойство transition-delay).
Установим, чтобы некоторые свойства получили переходный эффект и применим для них разную временную задержку:
<!DOCTYPE html> <html> <head> <title>Переходные эффекты для конкретных свойств в CSS</title> <style> div { width : 150px; /* устанавливаем ширину блока */ height : 120px; /* устанавливаем высоту блока */ background-color : yellow; /* устанавливаем цвет заднего фона */ border : 5px dashed black; /* устанавливаем пунктирную границу размером 5px черного цвета */ } div:hover { width : 100%; /* устанавливаем ширину блока при наведении на элемент (псевдокласс :hover) */ height : 200px; /* устанавливаем высоту блока при наведении на элемент */ background-color : rgba(255,0,0,. 7); /* устанавливаем цвет заднего фона при наведении */ } .test { transition-duration : 5s; /* устанавливаем длительность перехода равную 5 секундам */ transition-delay : 3s, 1s; /* устанавливаем задержку перехода (1 значение = 1 значение свойства transition-property (width), 2 значение = 2 значение свойства transition-property (height) */ transition-property : width, height; /* устанавливаем свойства, которые получат переходный эффект (свойство background-color изменит цвет сразу в отличие от перечисленных в этом свойстве значений) */ } </style> </head> <body> <div class = "test"> duration: 5s;<br> delay: 3s, 1s;<br> property: width, height; </div> </body> </html>Переходные эффекты для конкретных свойств в CSS (свойство transition-property).CSS свойства
transition — CSS: Cascading Style Sheets
Это свойство является сокращением для следующих свойств CSS:
переход: маржа-право 4с;
переход: margin-right 4s 1s;
переход: маржа-право 4s легкость входа-выхода;
переход: маржа-вправо 4 с легкость входа-выхода 1 с;
переход: край-правый 4s, цвет 1s;
переход: все 0,5 с ослабление;
переход: наследование;
переход: начальный;
переход: вернуться;
переход: не установлен;
Переход Свойство
определяется как один или несколько переходов с одним свойством, разделенных запятыми.
Каждый переход отдельного свойства описывает переход, который должен применяться к отдельному свойству (или специальные значения все
и нет
). Включает:
- ноль или одно значение, представляющее свойство, к которому должен применяться переход. Это может быть любое из:
- ключевое слово
нет
- ключевое слово
все
- a
- ключевое слово
- ноль или один
- ноль, один или два
<время>
значений.Первое значение, которое может быть проанализировано как время, присваивается длительности переходаtransition-delay
.
Посмотрите, как поступают, когда списки значений свойств не одинаковой длины. Короче говоря, дополнительные описания переходов, превышающие количество фактически анимируемых свойств, игнорируются.
Простой пример
В этом примере выполняется четырехсекундный переход размера шрифта с задержкой в одну секунду, когда пользователь наводит курсор на элемент.
HTML
Наведите курсор на меня
CSS
.target {
размер шрифта: 14 пикселей;
переход: font-size 4s 1s;
}
.target: hover {
размер шрифта: 36 пикселей;
}
Есть еще несколько примеров переходов CSS, включенных в статью Использование переходов CSS.
Таблицы BCD загружаются только в браузере
Использование переходов CSS — CSS: каскадные таблицы стилей
Переходы CSS позволяют управлять скоростью анимации при изменении свойств CSS.Вместо того, чтобы изменения свойств вступали в силу немедленно, вы можете заставить изменения свойства происходить в течение определенного периода времени. Например, если вы измените цвет элемента с белого на черный, обычно это изменение происходит мгновенно. При включенных переходах CSS изменения происходят через временные интервалы, которые следуют кривой ускорения, и все они могут быть настроены.
Анимации, которые включают переход между двумя состояниями, часто называют неявными переходами , поскольку состояния между начальным и конечным состояниями неявно определяются браузером.
CSS-переходы позволяют вам решать, какие свойства нужно анимировать ( перечисляет их явно ), когда анимация начнется (установив задержку ) , как долго будет длиться переход (установив продолжительность ) и как переход будет выполняться (путем определения функции синхронизации , например, линейно или быстро в начале, медленно в конце).
Веб-автор может определить, какое свойство должно быть анимировано и каким образом.Это позволяет создавать сложные переходы. Поскольку не имеет смысла анимировать некоторые свойства, список анимируемых свойств ограничен конечным набором.
Примечание: Набор свойств, которые можно анимировать, меняется по мере развития спецификации.
Примечание: Значение auto
часто является очень сложным случаем. Спецификация рекомендует не анимировать от и до auto
. Некоторые пользовательские агенты, например, на основе Gecko, реализуют это требование, а другие, например, на основе WebKit, менее строги.Использование анимации с auto
может привести к непредсказуемым результатам, в зависимости от браузера и его версии, и этого следует избегать.
CSS-переходы управляются с помощью сокращенного свойства transition
. Это лучший способ настроить переходы, так как он позволяет избежать рассинхронизации параметров, что может быть очень неприятно, если тратить много времени на отладку в CSS.
Вы можете управлять отдельными компонентами перехода с помощью следующих под-свойств:
-
переходная собственность
Задает имя или имена свойств CSS, к которым должны применяться переходы. Во время переходов анимируются только перечисленные здесь свойства; изменения всех остальных свойств происходят, как обычно, мгновенно.
-
продолжительность перехода
Определяет продолжительность, в течение которой должны происходить переходы. Вы можете указать одну продолжительность, которая применяется ко всем свойствам во время перехода, или несколько значений, чтобы позволить каждому свойству переходить в течение другого периода времени.
-
функция времени перехода
Задает функцию для определения способа вычисления промежуточных значений свойств. Временные функции определяют, как вычисляются промежуточные значения перехода. Большинство функций синхронизации можно указать, предоставив график соответствующей функции, определяемый четырьмя точками, определяющими кубическую кривую Безье. Вы также можете выбрать замедление из шпаргалки по функциям замедления.
-
задержка перехода
Определяет время ожидания между изменением свойства и фактическим началом перехода.
Сокращенный синтаксис CSS записывается следующим образом:
div {
переход: <свойство> <продолжительность> <функция-синхронизация> <задержка>;
}
Простой пример
В этом примере выполняется четырехсекундный переход размера шрифта с двухсекундной задержкой между моментом, когда пользователь наводит курсор мыши на элемент и началом эффекта анимации:
#delay {
размер шрифта: 14 пикселей;
свойство перехода: размер шрифта;
продолжительность перехода: 4 с;
задержка перехода: 2 с;
}
#delay: hover {
размер шрифта: 36 пикселей;
}
Пример нескольких анимированных свойств
Поле ниже объединяет переходы для: ширины, высоты, цвета фона, преобразования.Наведите указатель мыши на поле, чтобы увидеть эти свойства в анимации.
Образец
Содержимое CSS
.box {
стиль границы: сплошной;
ширина границы: 1px;
дисплей: блок;
ширина: 100 пикселей;
высота: 100 пикселей;
цвет фона: # 0000FF;
переход: ширина 2с, высота 2с, цвет фона 2с, преобразование 2с;
}
. box: hover {
цвет фона: #FFCCCC;
ширина: 200 пикселей;
высота: 200 пикселей;
преобразовать: повернуть (180 градусов);
}
Если списки значений свойств имеют разную длину
Если список значений какого-либо свойства короче других, его значения повторяются, чтобы они совпадали.Например:
div {
свойство перехода: непрозрачность, слева, сверху, высота;
продолжительность перехода: 3 с, 5 с;
}
Это рассматривается как если бы это было:
div {
свойство перехода: непрозрачность, слева, сверху, высота;
продолжительность перехода: 3 с, 5 с, 3 с, 5 с;
}
Точно так же, если список значений какого-либо свойства длиннее, чем у transition-property
, он усекается, поэтому, если у вас есть следующий CSS:
div {
свойство-переход: непрозрачность, слева;
продолжительность перехода: 3 с, 5 с, 2 с, 1 с;
}
Это интерпретируется как:
div {
свойство-переход: непрозрачность, слева;
продолжительность перехода: 3 с, 5 с;
}
Обычно CSS используется для выделения элементов в меню, когда пользователь наводит на них курсор мыши. Легко использовать переходы, чтобы сделать эффект еще более привлекательным.
Прежде чем мы рассмотрим фрагменты кода, вы можете взглянуть на живую демонстрацию (при условии, что ваш браузер поддерживает переходы).
Сначала мы настраиваем меню, используя HTML:
Затем мы создаем CSS, чтобы реализовать внешний вид нашего меню.Соответствующие части показаны здесь:
а {
цвет: #fff;
цвет фона: # 333;
переход: ослабление всех единиц;
}
а: парение,
фокус {
цвет: # 333;
цвет фона: #fff;
}
Этот CSS устанавливает внешний вид меню с изменением цвета фона и текста, когда элемент находится в состояниях : hover
и : focus
.
Примечание: Следует соблюдать осторожность при использовании перехода сразу после:
- добавление элемента в DOM с использованием
. appendChild ()
- удаление отображения элемента
: нет;
недвижимость.
Это обрабатывается так, как если бы начального состояния никогда не было, и элемент всегда находился в своем конечном состоянии. Простой способ преодолеть это ограничение — применить window.setTimeout ()
за несколько миллисекунд перед изменением свойства CSS, к которому вы собираетесь перейти.
Использование переходов для сглаживания функциональности JavaScript.
Переходы — отличный инструмент, позволяющий сделать внешний вид намного более плавным, при этом вам не нужно ничего делать с функциональностью JavaScript.Возьмем следующий пример.
Щелкните в любом месте, чтобы переместить мяч
Используя JavaScript, вы можете создать эффект перемещения мяча в определенное положение:
var f = document.getElementById ('foo');
document.addEventListener ('щелчок', function (ev) {
f. style.transform = 'translateY (' + (ev.clientY-25) + 'px)';
f.style.transform + = 'translateX (' + (ev.clientX-25) + 'px)';
},ложный);
С CSS вы можете сделать его гладким без каких-либо дополнительных усилий.Добавьте переход к элементу, и любое изменение будет происходить плавно:
.ball {
радиус границы: 25 пикселей;
ширина: 50 пикселей;
высота: 50 пикселей;
фон: # c00;
позиция: абсолютная;
верх: 0;
слева: 0;
переход: преобразовать 1 с;
}
Обнаружение начала и завершения перехода
Вы можете использовать событие transitionend
, чтобы определить, что анимация завершилась. Это объект TransitionEvent
, который имеет два дополнительных свойства помимо типичного объекта Event
:
-
propertyName
Строка, указывающая имя свойства CSS, переход которого завершен.
-
прошедшее время
Число с плавающей запятой, указывающее количество секунд, в течение которых переход выполнялся на момент возникновения события. На это значение не влияет значение
transition-delay
.
Как обычно, вы можете использовать метод addEventListener ()
для отслеживания этого события:
el.addEventListener ("transitionend", updateTransition, true);
Вы обнаруживаете начало перехода, используя transitionrun
(срабатывает до любой задержки) и transitionstart
(срабатывает после любой задержки) таким же образом:
эл.addEventListener ("transitionrun", signalStart, true);
el.addEventListener ("transitionstart", signalStart, true);
Примечание: Событие transitionend
не срабатывает, если переход прерывается до его завершения, потому что либо элемент выполнен display
: none
, либо значение свойства анимации изменено.
Спецификация | Статус | Комментарий |
---|---|---|
Переходы CSS | Осадка рабочий | Первоначальное определение |
transition-delay — CSS: Каскадные таблицы стилей
Свойство CSS transition-delay
определяет продолжительность ожидания перед запуском эффекта перехода свойства при изменении его значения.
Задержка может быть нулевой, положительной или отрицательной:
- Значение
0 с
(или0 мс
) немедленно запустит эффект перехода. - Положительное значение задержит начало эффекта перехода на заданный промежуток времени.
- Отрицательное значение приведет к немедленному запуску эффекта перехода и в середине эффекта. Другими словами, эффект будет анимирован так, как если бы он уже был запущен в течение заданного промежутка времени.
Вы можете указать несколько задержек, что полезно при переходе нескольких свойств. Каждая задержка будет применяться к соответствующему свойству, как указано в свойстве transition-property
, которое действует как главный список. Если указано меньше задержек, чем в главном списке, список значений задержки будет повторяться, пока их не будет достаточно. Если задержек больше, список значений задержки будет усечен, чтобы соответствовать количеству свойств. В обоих случаях объявление CSS остается в силе.
задержка перехода: 3 с;
задержка перехода: 2 с, 4 мс;
задержка перехода: наследование;
задержка перехода: начальная;
задержка перехода: вернуться;
задержка перехода: не задано;
Значения
-
<время>
Обозначает время ожидания между изменением значения свойства и началом эффекта перехода.
Пример, показывающий различные задержки
HTML
0.5 секунд
2 секунды
4 секунды
CSS
.box {
маржа: 20 пикселей;
отступ: 10 пикселей;
дисплей: встроенный блок;
ширина: 100 пикселей;
высота: 100 пикселей;
цвет фона: красный;
размер шрифта: 18 пикселей;
свойство-перехода: цвет фона размер шрифта цвет преобразования;
временная функция перехода: легкость входа-выхода;
продолжительность перехода: 3 с;
}
.transformed-state {
преобразовать: повернуть (270 градусов);
цвет фона: синий;
цвет: желтый;
размер шрифта: 12 пикселей;
свойство-перехода: цвет фона размер шрифта преобразовать цвет;
временная функция перехода: легкость входа-выхода;
продолжительность перехода: 3 с;
}
. delay-1 {
задержка перехода: 0,5 с;
}
.delay-2 {
задержка перехода: 2 с;
}
.delay-3 {
задержка перехода: 4 с;
}
JavaScript
function change () {
const elements = document.querySelectorAll ("div.box");
for (let element of elements) {
element.classList.toggle («преобразованное состояние»);
}
}
const changeButton = document.querySelector ("# изменение");
changeButton.addEventListener («щелкнуть», изменить);
Результат
Таблицы BCD загружаются только в браузере
Псевдоэлементы — CSS: Каскадные таблицы стилей
Псевдоэлемент CSS — это ключевое слово, добавляемое в селектор, который позволяет вам стилизовать определенную часть выбранного элемента ( с).Например, :: first-line
можно использовать для изменения шрифта первой строки абзаца.
p :: first-line {
цвет синий;
текст-преобразование: прописные буквы;
}
Примечание: В отличие от псевдоэлементов, псевдоклассов
можно использовать для стилизации элемента на основе его состояния .
selector :: псевдоэлемент {
стоимость имущества;
}
В селекторе можно использовать только один псевдоэлемент.Он должен стоять после простых селекторов в операторе.
Примечание: Как правило, следует использовать двойные двоеточия ( ::
) вместо одинарного двоеточия (:
). Это отличает псевдоклассы от псевдоэлементов. Однако, поскольку это различие не присутствовало в более старых версиях спецификации W3C, большинство браузеров поддерживают оба синтаксиса для исходных псевдоэлементов.
Псевдоэлементы, определенные набором спецификаций CSS, включают следующее:
А
В
С
Ф
G
м
-П
S
т
Спецификация | Статус | Комментарий |
---|---|---|
CSS Уровень 1 | Рекомендация | Определенные псевдоклассы и псевдоэлементы. |
Браузер | Самая низкая версия | Поддержка |
---|---|---|
Internet Explorer | 8,0 | : псевдоэлемент |
9,0 | : псевдоэлемент :: псевдоэлемент | |
Firefox (Gecko) | 1,0 (1,0) | : псевдоэлемент |
1.0 (1,5) | : псевдоэлемент :: псевдоэлемент | |
Opera | 4,0 | : псевдоэлемент |
7,0 | : псевдоэлемент :: псевдоэлемент | |
Safari (WebKit) | 1,0 (85) | : псевдоэлемент :: псевдоэлемент |
задержка перехода | CSS-уловки
Свойство transition-delay
, обычно используемое как часть сокращения transition
, используется для определения времени задержки начала перехода.
.delay-me {
задержка перехода: 0,25 с;
}
Значение может быть одним из следующих:
- Действительное значение времени, определенное в секундах или миллисекундах, например
1,3 с
или125 мс
- Список значений времени, разделенных запятыми, для определения отдельных значений задержки при нескольких переходах для одного элемента, например.
1 с, цвет фона, преобразование 350 мс
Значение по умолчанию для transition-delay
— 0s
, что означает, что задержки не будет и переход начнется немедленно.Значение времени может быть выражено в виде десятичного числа для более точного отсчета времени.
Если для перехода задано отрицательное значение задержки, это приведет к немедленному началу перехода (без задержки), однако переход начнется в середине процесса, как если бы он уже начался.
Следующее перо показывает эффект наведения курсора на блок, который использует значение задержки перехода
, равное 2 с
с длительностью перехода 1 с
:
См. Демонстрацию задержки перехода Pen
от CSS-Tricks (@ css-tricks)
на CodePen.
Теперь сравните это со следующей демонстрацией, которая имеет задержку -1 с
и длительность 3 с
:
См. Демонстрацию Pen
Negative transition delay от CSS-Tricks (@ css-tricks)
на CodePen.
Обратите внимание, что во втором примере видны только последние две трети фактического перехода и нет задержки. Отрицательное значение удаляет задержку и эффективно сокращает продолжительность.
Для совместимости со всеми поддерживаемыми браузерами требуются префиксы поставщиков, при этом стандартный синтаксис объявлен последним:
.пример {
-webkit-transition-delay: 500 мс;
-moz-transition-delay: 500 мс;
-o-transition-delay: 500 мс;
задержка перехода: 500 мс;
}
IE10 (первая стабильная версия IE с поддержкой transition-delay
) не требует префикса -ms-
.
Обычный вариант использования — ступенчатые переходы:
См. Pen
Staggered Animations Криса Койера (@chriscoyier)
на CodePen.
Сопутствующие объекты
Другие ресурсы
Поддержка браузера
Рабочий стол
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
4 * | 5 * | 10 | 12 | 5.1 * |
Мобильный / планшетный компьютер
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
92 | 9033 | 2,1 * |
CSS переходов
CSS-переходы
CSS-переходов позволяют плавно изменять значения свойств в течение заданного времени.
Наведите указатель мыши на элемент ниже, чтобы увидеть эффект перехода CSS:
В этой главе вы узнаете о следующих свойствах:
-
переход
-
задержка перехода
-
продолжительность перехода
-
переходная собственность
-
функция времени перехода
Браузер Поддержка переходов
Числа в таблице указывают первую версию браузера, полностью поддерживающую свойство.
Имущество | |||||
---|---|---|---|---|---|
переход | 26,0 | 10,0 | 16,0 | 6,1 | 12,1 |
задержка перехода | 26,0 | 10,0 | 16,0 | 6,1 | 12,1 |
продолжительность перехода | 26.0 | 10,0 | 16,0 | 6,1 | 12,1 |
переходная собственность | 26,0 | 10,0 | 16,0 | 6,1 | 12,1 |
функция времени перехода | 26,0 | 10,0 | 16,0 | 6,1 | 12,1 |
Как использовать переходы CSS?
Для создания эффекта перехода необходимо указать две вещи:
- свойство CSS, которое вы хотите добавить к .
- длительность эффекта
Примечание: Если часть длительности не указана, переход не будет иметь никакого эффекта, поскольку значение по умолчанию равно 0.
В следующем примере показан красный элемент
Пример
div
{
ширина: 100 пикселей;
высота: 100 пикселей;
фон: красный;
переход: ширина 2с;
}
Эффект перехода начнется, когда указанное свойство CSS (ширина) изменит значение.
Теперь давайте укажем новое значение для свойства width, когда пользователь наводит курсор на элемент
Обратите внимание, что когда курсор выходит за пределы элемента, он постепенно возвращается к своему исходному стилю.
Изменить несколько значений свойств
В следующем примере добавляется эффект перехода для свойства width и height с длительностью 2 секунды для ширины и 4 секунды для высоты:
Укажите кривую скорости перехода
Свойство временной функции перехода
определяет кривую скорости эффекта перехода.
Свойство временной функции перехода может иметь следующие значения:
-
легкость
— задает эффект перехода с медленным началом, затем быстрым, затем медленным завершением (по умолчанию) -
linear
— задает эффект перехода с одинаковой скоростью от начала до конца -
easy-in
— задает эффект перехода с медленным стартом -
easy-out
— задает эффект перехода с медленным концом -
easy-in-out
— задает эффект перехода с медленным началом и концом -
кубическая функция Безье (n, n, n, n)
— позволяет определять собственные значения в функции кубической кривой Безье.
В следующем примере показаны некоторые из различных кривых скорости, которые можно использовать:
Пример
# div1 {функция-времени-перехода: линейная;}
# div2
{функция-времени-перехода: легкость;}
# div3 {функция-времени-перехода:
easy-in;}
# div4 {функция-тайминг-перехода: easy-out;}
# div5
{функция-перехода: легкость входа-выхода;}
Задержка эффекта перехода
Свойство transition-delay
определяет задержку (в секундах) для эффекта перехода.
В следующем примере задержка перед запуском составляет 1 секунду:
Переход + преобразование
В следующем примере к преобразованию добавляется эффект перехода:
Дополнительные примеры переходов
Свойства перехода CSS можно указать одно за другим, например:
Пример
div
{
свойство перехода: ширина;
продолжительность перехода: 2 с;
временная функция перехода: линейная;
задержка перехода: 1 с;
}
или используя сокращенное свойство переход
:
Проверьте себя упражнениями!
Свойства перехода CSS
В следующей таблице перечислены все свойства перехода CSS:
Имущество | Описание |
---|---|
переход | Сокращенное свойство для установки четырех свойств перехода в одно свойство |
задержка перехода | Задает задержку (в секундах) для эффекта перехода |
продолжительность перехода | Указывает, сколько секунд или миллисекунд требуется эффекту перехода для завершения |
переходная собственность | Задает имя свойства CSS, для которого применяется эффект перехода. |
функция времени перехода | Задает кривую скорости эффекта перехода |
CSS свойство перехода, свойство
Пример
Наведите указатель мыши на элемент
свойство-переход: ширина;
}
div: hover {
width: 300px;
}
Дополнительные примеры «Попробуйте сами» ниже.
Определение и использование
Свойство перехода Свойство
определяет имя свойства CSS, для которого выполняется переход.
эффект для (эффект перехода начнется при изменении указанного свойства CSS).
Совет: Эффект перехода обычно может возникать, когда пользователь наводит курсор на элемент.
Примечание: Всегда указывайте свойство transition-duration, иначе длительность равна 0, и переход не будет иметь никакого эффекта.
Значение по умолчанию: | все |
---|---|
Унаследовано: | нет |
Анимация: | нет. Прочитать про animatable |
Версия: | CSS3 |
Синтаксис JavaScript: | объект .style.transitionProperty = «ширина, высота» Попробуй |
Поддержка браузера
Числа в таблице указывают первую версию браузера, полностью поддерживающую свойство.
Числа, за которыми следуют -webkit-, -moz- или -o- указывают первую версию, которая работала с префиксом.
Имущество | |||||
---|---|---|---|---|---|
переходная собственность | 26,0 4,0 -webkit- | 10,0 | 16,0 4,0 -моз- | 6,1 3,1 -webkit- | 12,1 10,5 -о- |
Синтаксис CSS
свойство-переход: нет | все | свойство | начальное | наследование;
Значения свойств
Значение | Описание |
---|---|
нет | Никакое свойство не получит эффект перехода |
все | Значение по умолчанию. |