Sto provando a creare un sito Web AMP HTML (vedere https://www.ampproject.org) Ma non riesco a trovare da nessuna parte come si suppone di creare un menu di hamburger reattivo? Javascript non è consentito e non ci sono componenti AMP disponibili per questo?Come creare un menu hamburger reattivo in AMP HTML
risposta
Questo non è attualmente possibile senza hack principali.
seguire nella richiesta funzione di bug: https://github.com/ampproject/amphtml/issues/827
ho compiuto questo con l'uso di un :target
pseudoclasse.
HTML
<nav id="slide-in-menu">
...nav menu content...
</nav>
<section class="content-section">
<a href="#slide-in-menu">Hamburger Icon</a>
</section>
CSS
#slide-in-menu {
transform: translateX(-100%);
transition: transform .2s ease-in-out;
... additional required styles ...
}
#slide-in-menu:target {
transform: translateX(0);
}
Questo è come avrei fatto anche io, soprattutto perché la pseudo-classe ': focus' non funziona su alcuni browser desktop a causa di una sorta di paradosso della casualità che sembra verificarsi (almeno in Chrome). ': target' è molto più efficace e funziona bene anche per i caroselli, [come ho esplorato qui.] (https://dev.amdouglas.com/amphtml-examples/nojs-carousel/#div1) – amdouglas
Si può fare questo con il: focus classe di pseudo. Dai un'occhiata a https://fresnobee.relaymedia.com/amp/news/local/education/article61889207.html per un esempio dal vivo (anche www.washingtonpost.com fa così). Oppure puoi aspettare che il tag <amp-sidebar>
venga pubblicato.
Il codice sembra
<a id="burger" tabindex="0">☰</a>
<div id="burgerCancel" tabindex="0">☰</div>
<div id="burgerMenu">
<ul>
<li><a href="/news/local/#navlink=ampnav">Local News</a></li>
<li><a href="/sports/#navlink=ampnav">Sports</a></li>
</ul>
</div>
<button id="burgerMask"></button>
e css
#burger:focus ~ #burgerMenu {
transform: translateY(0px); /* or whatever other way you want it to appear */
}
#burgerMask {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: #000;
z-index: 998;
border: 0;
opacity: 0;
transition: opacity 250ms cubic-bezier(0, .67,0,.67);
pointer-events: none; /*this is important */
}
#burger:focus ~ #burgerMask {
pointer-events: auto;
opacity: 0.7;
display: block;
}
The live l'esempio non funziona, quando si fa clic sulla voce di menu, il menu si chiude e non passa all'URL, il codice nell'esempio fa la stessa cosa. Hai mai ottenuto questo codice per funzionare correttamente? –
AMP ha ora il supporto per il menu utilizzando il componente amp-sidebar.
- 1. Creazione di un menu reattivo con HTML, CSS & jQuery
- 2. Bootstrap glyphicon-menu-hamburger non mostrando
- 3. Come posso creare un menu in HTML senza usare Javascript?
- 4. Material Design Menu hamburger non centrato nell'intestazione
- 5. Esiste un equivalente WPF al menu Hamburger SplitView dell'UWP?
- 6. Come creare un testo reattivo su un'immagine?
- 7. Il menu di bootbar navbar per hamburger non si apre
- 8. Come supporto simultaneamente AMP-html e HTML desktop
- 9. Menu Hamburger ruota a freccia su nuova attività
- 10. Come creare la messaggistica bidirezionale usando AMP in Twisted/Python
- 11. Come creare menu popup
- 12. La codifica URL vede "&" (e commerciale) come "&" entità HTML
- 13. Come posso rimuovere "& nbsp" dai contenuti html?
- 14. Come rendere reattivo il menu a tendina superfish?
- 15. Come creare un sito Web reattivo con ReactJs
- 16. Come creare un layout orizzontale reattivo usando i CSS?
- 17. Come creare un menu di opzioni dinamiche?
- 18. Come utilizzare il navigatore con il menu laterale nativo reattivo?
- 19. Come creare un menu a discesa in WinForms e C#
- 20. Creare un menu verticale in una Wpf
- 21. Stringa Java Sostituire '&' con & ma non & a & amp;
- 22. Come creare un "wrappanel" in html?
- 23. Come creare un elemento HTML in Qt?
- 24. Come creare un menu della barra laterale
- 25. Come creare un parser HTML?
- 26. Creare manualmente un elemento reattivo Oggetto con streaming
- 27. Come creare menu di navigazione in JavaFX
- 28. Cursore reattivo, multiuso HTML 5 o javascript
- 29. problema di codifica, coverting & a & per HTML con PHP
- 30. Come creare un menu a livello di programmazione in Android?
Stai cercando di creare un sito Web di più pagine utilizzando AMP? Non è il caso d'uso per cui penso che AMP sia progettato. Gli esempi che sto vedendo/costruendo sono "pagine" piuttosto che "siti web" - sono viste semplificate di singoli articoli da un sito Web non AMP. – MatCarey
@MatCarey Quindi, come possiamo rendere ridondanti le pagine di ampli? Dobbiamo creare singole pagine per tutti i prodotti per creare la pagina dei dettagli dell'amplificatore? –