<div class="container">
<ul id="view" class="view grid">
<li style="view-transition-name: item-a;">A</li>
<li style="view-transition-name: item-b;">B</li>
<li style="view-transition-name: item-c;">C</li>
</ul>
<button id="button">Toggle</button>
</div>
<script>
const button = document.getElementById('button');
const view = document.getElementById('view');
button.onclick = () => {
document.startViewTransition(() => {
view.classList.toggle('grid');
});
};
</script>
.container {
display: flex;
flex-direction: column;
gap: 20px;
padding: 20px;
background: #96b38a;
border-radius: 6px;
}
.view {
display: flex;
flex-direction: column;
gap: 20px;
background: white;
padding: 20px;
border-radius: 6px;
}
.grid {
flex-direction: row;
}
li {
display: flex;
align-items: center;
justify-content: center;
background: #8BC34A;
width: 2rem;
height: 2rem;
}
button {
display: block;
background: #4CAF50;
color: white;
border: 0;
padding: 10px 20px;
font-size: 20px;
border-radius: 6px;
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.