Примечание. В приведенном ниже примере используется API View Transitions, который пока поддерживается не во всех браузерах. В Firefox этот код не будет выполнять переходы и, следовательно, не покажет мою проблему. Что я пытаюсь сделать >
Используя API View Transitions, я переключаюсь между двумя элементами. Это происходит, когда пользователь нажимает на элемент, при этом открывается (своего рода) модальное окно над списком элементов с красивым переходом. Проблема, с которой я столкнулся< /strong>
Похоже, API не очень хорошо соблюдает порядок стека (
z-index). Самая большая проблема заключается в том, что .overlay.backdrop
проходит над элементом, находящимся в переходе. Только когда переход завершен, вы можете увидеть, как элемент «загорается» и переходит на задний план. Я также не могу понять, как заставить выбранный элемент перемещаться по другим элементам во время перехода.
Совет: вы можете ясно увидеть, что происходит, если установите скорость анимации на 10 %. в инструментах разработчика Chrome.
Что я попробовал[/b]
Разные способы изменения структуры DOM и z-index элементов.
Я поигрался с псевдоэлементом ::view-transition-group (ссылка на документацию) в своем CSS, но, поскольку я устанавливаю имена своих элементов динамически, я не думаю, что можно это использовать?
У меня действительно есть понятия не имею, как это еще отладить.
[b]Примечание. В приведенном ниже примере используется API View Transitions, который пока поддерживается не во всех браузерах. В Firefox этот код не будет выполнять переходы и, следовательно, не покажет мою проблему.[/b] [b]Что я пытаюсь сделать[/b] >
Используя API View Transitions, я переключаюсь между двумя элементами. Это происходит, когда пользователь нажимает на элемент, при этом открывается (своего рода) модальное окно над списком элементов с красивым переходом. [b]Проблема, с которой я столкнулся< /strong>
Похоже, API не очень хорошо соблюдает порядок стека ([code]z-index). Самая большая проблема заключается в том, что .overlay.backdrop[/code] проходит над элементом, находящимся в переходе. Только когда переход завершен, вы можете увидеть, как элемент «загорается» и переходит на задний план. Я также не могу понять, как заставить выбранный элемент перемещаться по другим элементам во время перехода. Совет: вы можете ясно увидеть, что происходит, если установите скорость анимации на 10 %. в инструментах разработчика Chrome. [img]https://i.sstatic.net/7AnOmiue.png[/img] Что я попробовал[/b] [list] [*]Разные способы изменения структуры DOM и z-index элементов. [*]Я поигрался с псевдоэлементом ::view-transition-group (ссылка на документацию) в своем CSS, но, поскольку я устанавливаю имена своих элементов динамически, я не думаю, что можно это использовать? [/list] У меня действительно есть понятия не имею, как это еще отладить.
[code]const { ref } = Vue;
const app = Vue.createApp({ setup() { const items = [ { id: 1, title: 'Diablo 4', description: 'A shit game with a decent story', }, { id: 2, title: 'Elden Ring', description: 'A good game with a shit story', }, { id: 3, title: 'The Witcher 3', description: 'A good game with a good story', }, { id: 4, title: 'Cyberpunk 2077', description: 'A shit game with a shit story', }, ];