::view-transition-old
åºçº¿ 2025 >
æè¿å¯ç¨
èª 2025å¹´10æ èµ·ï¼æ¤ç¹æ§å·²å¨ææ°æµè§å¨ä¸å¾å°æ¯æãä½å¨è¾æ§çè®¾å¤ææµè§å¨ä¸å¯è½æ æ³è¿è¡ã
å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
::view-transition-old CSS 伪å
ç´ è¡¨ç¤ºè§å¾è¿æ¸¡çæ§è§å¾ç¶æââå³è¿æ¸¡åæ§è§å¾çéæå±å¹æªå¾ã
å¨è§å¾è¿æ¸¡æé´ï¼::view-transition-old å
å«å¨ç¸å
³ç伪å
ç´ æ ä¸ï¼å¦è§å¾è¿æ¸¡è¿ç¨ä¸æè¿°ï¼åææ¯æä¸ä¸ªæ§è§å¾ç¶æéè¦è¡¨ç¤ºãå®åªè½æ¯ ::view-transition-image-pair çåèç¹ï¼å¹¶ä¸å®ä¸ä¼æä»»ä½åèç¹ã
宿¯ä¸ä¸ªå¯æ¿æ¢å
ç´ ï¼å æ¤å¯ä»¥ä½¿ç¨ object-fit å object-position ç屿§è¿è¡æä½ãå®çèªç¶å°ºå¯¸çäºå
容ç大å°ã
::view-transition-old å¨ UA æ ·å¼è¡¨ä¸å
·æä»¥ä¸é»è®¤æ ·å¼ï¼
@keyframes -ua-view-transition-fade-out {
to {
opacity: 0;
}
}
html::view-transition-old(*) {
position: absolute;
inset-block-start: 0;
inline-size: 100%;
block-size: auto;
animation-name: -ua-view-transition-fade-out;
animation-duration: inherit;
animation-fill-mode: inherit;
}
夿³¨ï¼è§å¾è¿æ¸¡æ ·å¼è¡¨ä¹ä¼é¢å¤è®¾ç½®ä¸äºæ ·å¼æ¥å¨ç»å ::view-transition-oldãè¿äºæ ·å¼æ¯å¨è§å¾è¿æ¸¡æé´å¨æçæçï¼æå
³æ´å¤è¯¦ç»ä¿¡æ¯ï¼è¯·åé
è§èä¸çè®¾ç½®è¿æ¸¡ä¼ªå
ç´ åæ´æ°ä¼ªå
ç´ æ ·å¼é¨åã
è¯æ³
::view-transition-old(<pt-name-selector>) {
/* ... */
}
<pt-name-selector> å¯ä»¥æ¯ä»¥ä¸ä»»ä½å¼ä¹ä¸ï¼
*-
使伪å ç´ éæ©å¨å¹é ææè§å¾è¿æ¸¡ç»ã
root-
使伪å ç´ éæ©å¨å¹é ç± UA å建çé»è®¤
rootè§å¾è¿æ¸¡ç»ï¼è¯¥ç»ç¨äºå 嫿´ä¸ªé¡µé¢çè§å¾è¿æ¸¡ï¼è¿æå³ç任使ªéè¿view-transition-name屿§åé ç»ç¹å®è§å¾è¿æ¸¡ç»çå ç´ ã <custom-ident>-
使伪å ç´ éæ©å¨å¹é ï¼éè¿
view-transition-name屿§å°<custom-ident>åé ç»å ç´ èå建çï¼ç¹å®è§å¾è½¬æ¢ç»ã
示ä¾
figcaption {
view-transition-name: figure-caption;
}
@keyframes grow-x {
from {
transform: scaleX(0);
}
to {
transform: scaleX(1);
}
}
@keyframes shrink-x {
from {
transform: scaleX(1);
}
to {
transform: scaleX(0);
}
}
::view-transition-old(figure-caption),
::view-transition-new(figure-caption) {
height: auto;
right: 0;
left: auto;
transform-origin: right center;
}
::view-transition-old(figure-caption) {
animation: 0.25s linear both shrink-x;
}
::view-transition-new(figure-caption) {
animation: 0.25s 0.25s linear both grow-x;
}
è§è
| è§è |
|---|
| CSS View Transitions Module Level 1 > # ::view-transition-old > |