Cuando la barra de aplicación no está en la página principal, puede mostrar hasta 3 botones de ícono a la derecha. Deben ser las acciones más usadas.
Cuando hay más de 3 acciones, coloca las menos usadas en el overflow menu, que se despliega cliqueando el botón con el ícono ⋯ en iOS, y el ícono ⁝ en otros sistemas operativos.
Cuando en iOS no hay íconos de acción, el título debe ir centrado.
Para que el contenido se muestra adecuadamente, se usa el elemento personalizado md-top-app-bar, cuyo comportamiento está definido en la clase MdTopAppBar.
El boton de overflow debe ser el último con slot="action"
. Usa
el atributo is="md-overflow-button". Su atributo onclick
debe
alternar el overflow menu.
El overflow menu, se define con el elemento personalizado mdoverflow-menu, cuyo comportamiento está definido en la clase MdOverflowMenu.
Para el título, dentro de la la barra de aplicación se usa un elemento de
tipo
h1
.
El texto debe ser corto y caber en un solo renglón, o de lo conrario se
cortará.
Para mostrar un título más largo, hay que poner después de la barra de
aplicación otro h1
y ponerle un
id
. Ese
id
se pone como valor del atributo
headline
dentro de la md-top-app-bar
.
Cuando la página tenga el scroll hasta arriba, se despliega el
h1
que está dentro del
md-top-app-bar
..
Al hacer scroll, este título se compacta y se muestra el título definido con
el atributo headline
.
Si deseas que la letra del encabezado largo sea más pequeña, usa la
clase medium
dentro de la md-top-app-bar
.
El botón de navegación opcional debe llevar el atributo
slot="navigation"
.
Los botones de acción deben llevar el atributo
slot="action"
.
El overflow menú debe llevar el atributo
slot="overflow"
.
Para añadir elementos debajo del título, usa el atributo
slot="adicional"
.
El botón de ícono para abrir el overflow menu, se coloca dentro de este menú
usando el atributo
slot="icon"
.
Los botones de acción se colocan dentro del overflow menu sin ningún
atributo
slot
.
1 | <!DOCTYPE html> |
2 | <html lang="es" class="light dark"> |
3 | |
4 | <head> |
5 | |
6 | <meta charset="UTF-8"> |
7 | <title>Vista secundaria - PWA con MD</title> |
8 | |
9 | <script src="js/registraServiceWorker.js"></script> |
10 | |
11 | <meta name="viewport" content="width=device-width"> |
12 | <meta name="theme-color" content="#fffbfe"> |
13 | <link rel="icon" sizes="32x32" href="favicon.ico"> |
14 | <link rel="manifest" href="site.webmanifest"> |
15 | <script src="ungap/custom-elements.js"></script> |
16 | |
17 | <script type="module" src="js/configura.js"></script> |
18 | <link rel="stylesheet" href="css/estilos.css"> |
19 | <link rel="stylesheet" href="css/transicion_completa.css"> |
20 | |
21 | </head> |
22 | |
23 | <body> |
24 | |
25 | <md-top-app-bar class="medium" headline="h1Headline"> |
26 | |
27 | <h1>Secundaria</h1> |
28 | |
29 | <button is="md-menu-button" slot="navigation"></button> |
30 | |
31 | <button type="button" class="md-standard-icon-button" title="Agregar" |
32 | slot="action"> |
33 | <span class="material-symbols-outlined">add</span> |
34 | </button> |
35 | |
36 | <button type="button" class="md-standard-icon-button" title="Editar" |
37 | slot="action"> |
38 | <span class="material-symbols-outlined">edit</span> |
39 | </button> |
40 | |
41 | <button is="md-overflow-button" slot="action" |
42 | onclick="overflow.alterna(this)"></button> |
43 | |
44 | </md-top-app-bar> |
45 | |
46 | <h1 id="h1Headline">Página secundaria</h1> |
47 | |
48 | <main> |
49 | <p> |
50 | Esta es una página secundaria de la app. Las X que siguen son para que veas |
51 | como se comporta cuando se hace scroll. |
52 | </p> |
53 | <p>x</p> |
54 | <p>x</p> |
55 | <p>x</p> |
56 | <p>x</p> |
57 | <p>x</p> |
58 | <p>x</p> |
59 | <p>x</p> |
60 | <p>x</p> |
61 | <p>x</p> |
62 | <p>x</p> |
63 | <p>x</p> |
64 | <p>x</p> |
65 | <p>x</p> |
66 | <p>x</p> |
67 | <p>x</p> |
68 | <p>x</p> |
69 | <p>x</p> |
70 | <p>x</p> |
71 | <p>x</p> |
72 | <p>x</p> |
73 | <p>x</p> |
74 | <p>x</p> |
75 | <p>x</p> |
76 | </main> |
77 | |
78 | <md-overflow-menu id="overflow"> |
79 | |
80 | <button type="button"> |
81 | <span class="material-symbols-outlined">star</span> |
82 | Marcar favorito |
83 | </button> |
84 | |
85 | <button type="button"> |
86 | <span class="material-symbols-outlined"> delete</span> |
87 | Eliminar |
88 | </button> |
89 | |
90 | </md-overflow-menu> |
91 | |
92 | <nav-drw></nav-drw> |
93 | |
94 | </body> |
95 | |
96 | </html> |
Las barras de aplicación en Material Design están definidas en https://m3.material.io/components/top-app-bar/overview.
Los menús en Material Design están definidos en https://m3.material.io/components/menus/overview.