Skip to content

Commit 800465a

Browse files
committed
docs(pt): translate challenge 44
1 parent 01677a7 commit 800465a

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: 🔴 Transição de View
3+
description: Desafio 44 você aprenderá a nova API para animação de transição de view
4+
author: thomas-laforge
5+
challengeNumber: 44
6+
command: angular-view-transition
7+
sidebar:
8+
order: 208
9+
badge: New
10+
---
11+
12+
## Informação
13+
14+
A View Transition API é uma nova API que fornece um conjunto de funcionalidades, permitindo desenvolvedores controlarem e manipularem as transições e animações entre views dentro de uma aplicação.
15+
Isso tem um papel importante na melhoria da experiência do usuário (UX), trazendo vida a aplicações com transições atraentes e cativantes afim de guiar usuários por diferentes páginas e seções da aplicação.
16+
17+
O objetivo deste desafio é aprender a manipular todos os tipos de transições propostas pela API.
18+
19+
Para usar a API, Angular tem uma função `withViewTransitions()` que deve ser injetada dentro da configurações do roteador.
20+
21+
Eu recomendaria a leitura da [documentação Chrome](https://developer.chrome.com/docs/web-platform/view-transitions). Você aprenderá tudo o que é necessário para completar o desafio com sucesso.
22+
23+
Aqui, no entanto, um pequeno resumo:
24+
Primeiramente, cada elemento DOM tem dois estados; um `old` para quando o elemento está deixando a página, e um `new` para quando está entrando na página:
25+
26+
```css
27+
::view-transition-old(root) {
28+
/ / animação
29+
}
30+
31+
::view-transition-new(root) {
32+
/ / animação
33+
}
34+
```
35+
36+
Para apontar um elemento em específico, você deve adicionar o seletor `view-transition-name` em uma classe CSS no nó DOM, como ilustrado abaixo:
37+
38+
```css
39+
.specific-element {
40+
view-transition-name: specific-element;
41+
}
42+
```
43+
44+
Isso permite criar uma animação para aquele elemento apenas.
45+
46+
Por último, se um mesmo elemento está presente em ambas as views, você pode automatizar a transição atribuindo o mesmo **nome da transição**.
47+
48+
:::danger[Importante]
49+
Lembre-se, você pode ter apenas UM ÚNICO `view-transition-name` por página.
50+
:::
51+
52+
## Declaração
53+
54+
O objetivo deste desafio é realizar a transição entre os estados mostrados no vídeo abaixo:
55+
56+
<video controls src="https://github.com/tomalaforge/angular-challenges/assets/30832608/1e247bc4-3826-4e1c-afb0-aebdfec2ee85">
57+
</video>
58+
59+
Para o estado final mostrado no vídeo seguinte:
60+
61+
<video controls src="https://github.com/tomalaforge/angular-challenges/assets/30832608/27850781-a948-4ed6-a7e4-096473b755aa">
62+
</video>
63+
64+
Observe os pontos:
65+
66+
- O cabeçalho desliza para dentro e para fora
67+
- Cada elemento transiciona suavemente para sua nova localização
68+
69+
### Nível 1
70+
71+
Foque apenas no primeiro thumbnail e crie uma transição agradável e transparente
72+
73+
### Nível 2
74+
75+
Crie a mesma transição atraente para todos os thumbnails, mas sem duplicar o `view-transition-name`. Note que a página tem apenas 3 thumbnails; em um cenário real, você pode ter muito mais.
76+
77+
### Nível 3
78+
79+
Mude para a localização Y correta quando navegando para frente e para trás entre as páginas.

0 commit comments

Comments
 (0)