CSS свойството  transition  е общото свойство за transition-property, transition-duration, transition-timing-function и transition-delay.

Преходите ви позволяват да определите преминаването между две състояния на елемент. Различните състояния могат да бъдат зададени чрез псево класове като :hover или :active или динамично зададени чрез JavaScript.

Синтаксис

/* За 1 свойство */
/* 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;

/* За 2 свойства */
transition: margin-right 4s, color 1s;

/* За всички променени свойства */
transition: all 0.5s ease-out;

/* Глобални стойности */
transition: inherit;
transition: initial;
transition: unset;

Свойството transition се задава като един или повече прехода, всеки от които е за отделно свойство, разделени чрез запетая.

Всеки преход за отделните свойства описва преходът, който трябва да бъде приложен на съответното свойство(или на специалните стойности all и none). Това включва:

  • нито една или една стойност, представляваща свойство върху което да се приложи прехода. Може да бъде всяко от следните:
    • ключовата дума none
    • ключовата дума all
    • упоменаване на CSS свойство <custom-ident> .
  •  <single-transition-timing-function> нито една или една стойност, представляваща времевата функция, която да се употребява
  • нито една, една или две стойности <time>. Първата стойност, която може да бъде парсната като време се задава на transition-duration а втората, която може да бъде парсната като време, се задава на transition-delay.

Вижте, как се употребяват списъците от стойности на свойства, когато са с различна дължина. Накратко, ако има повече описания на прехода, отколкото реалния брой на свойствата за анимиране, то тези излишни описания се пренебрегват.

Официален синтаксис

<single-transition>#

where
<single-transition> = [ none | <single-transition-property> ] || <time> || <single-transition-timing-function> || <time>

where
<single-transition-property> = all | <custom-ident>
<single-transition-timing-function> = <single-timing-function>

where
<single-timing-function> = linear | <cubic-bezier-timing-function> | <step-timing-function> | <frames-timing-function>

where
<cubic-bezier-timing-function> = ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)
<step-timing-function> = step-start | step-end | steps(<integer>[, [ start | end ] ]?)
<frames-timing-function> = frames(<integer>)

Примери

Има няколко примера за CSS преходи в статията Използване на CSS Преходи .

Спецификации

Спецификация Статут Коментар
CSS Transitions
The definition of 'transition' in that specification.
Working Draft Първоначална дефиниция

Initial valueas each of the properties of the shorthand:
Applies toall elements, ::before and ::after pseudo-elements
Inheritedno
Mediainteractive
Computed valueas each of the properties of the shorthand:
Animation typediscrete
Canonical orderorder of appearance in the formal grammar of the values

Съвместимост с браузъри

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support

26

1 -webkit-

12

12 -webkit-

161 2 3

4 -moz-

49 -webkit-

44 -webkit- 4

10

12.1

15 -webkit-

10.1 — 15 -o-

6.1

3 -webkit-

Gradients No12 No10 No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support

Yes

2.1 -webkit-

26

Yes -webkit-

12

12 -webkit-

161 2 3

4 -moz-

49 -webkit-

44 -webkit- 4

12.1

15 -webkit-

10.1 — 15 -o-

Yes

3.2 -webkit-

Yes

Yes -webkit-

Gradients No ? Yes No No No No

1. Before Firefox 57, transitions do not work when transitioning from a text-shadow with a color specified to a text-shadow without a color specified (see bug 726550).

2. Before Firefox 57, cancelling a filling animation (for example, with animation-fill-mode: forwards set) can trigger a transition set on the same element, although only once (see bug 1192592 and these test cases for more information).

3. Before Firefox 57, the background-position property can't be transitioned between two values containing different numbers of <position> values, for example background-position: 10px 10px; and background-position: 20px 20px, 30px 30px; (see bug 1390446).

4. From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Вижте също

Етикети за документа и сътрудници

Допринесли за тази страница: petya5q2
Последно обновяване от: petya5q2,