This is working, but the duration setting is ignored. What am I missing?
/
function onClick(e) {
e.target.classList.add('clicked_media_transition')
document.startViewTransition(() => {
e.target.classList.add('expand')
})
}
body {
margin: 0;
}
div {
width: 300px;
height: 300px;
background-color: pink;
position: absolute;
}
.expand {
width: 100vw;
height: 100vh;
top: 0;
left: 0;
}
::view-transition-group(clicked_media_transition) {
transition-duration: 5s;
transition-timing-function: ease-out;
}
.clicked_media_transition {
view-transition-name: clicked_media_transition;
}
<div onclick="onClick(event)"></div>
This is working, but the duration setting is ignored. What am I missing?
https://jsfiddle/r76z0o8s/
function onClick(e) {
e.target.classList.add('clicked_media_transition')
document.startViewTransition(() => {
e.target.classList.add('expand')
})
}
body {
margin: 0;
}
div {
width: 300px;
height: 300px;
background-color: pink;
position: absolute;
}
.expand {
width: 100vw;
height: 100vh;
top: 0;
left: 0;
}
::view-transition-group(clicked_media_transition) {
transition-duration: 5s;
transition-timing-function: ease-out;
}
.clicked_media_transition {
view-transition-name: clicked_media_transition;
}
<div onclick="onClick(event)"></div>
Share
Improve this question
edited Nov 18, 2024 at 21:46
Daniel Beck
21.5k5 gold badges43 silver badges60 bronze badges
asked Nov 18, 2024 at 21:43
JorenJoren
9,94520 gold badges67 silver badges106 bronze badges
1
- @Yogi you're right! You should post that as the answer. – Joren Commented Nov 18, 2024 at 22:06
1 Answer
Reset to default 2As mentioned by @Yogi:
Changing
transition-duration: 5s;
toanimation-duration: 5s;
seems to work.
In general, transition-duration
is used between two distinct states (start/end), while animation-duration
involves a sequence of keyframes. When you're trying to trigger the animation on click, the use of animation-duration
should be used.