WebSite X5Help Center

 
Scalzo F.
Scalzo F.
User

Hamburgher menu con codice non funziona con safari  it

Autor: Scalzo F.
Visitado 980, Seguidores 2, Compartilhado 0  

Ho cosrtuito un hamburger menu che si apre a schermo intero ed inserito nel header per smartphone.

Il problema è che con safari non funziona. Praticamente invece di aprirsi a schermo intero Si espande all interno del contenitore dove ho scritto il codice.

Qui la pagina :https://www.mangioacasa.bz.it/texmex/index.php (visibile solo con smartphone)

Con android funziona.

P.s non posso usare il menu di website perche ho la necessità di prelevare le voci in elenco da database

Questo è il codice di esempio che ho usato, che poi ho modicato per inseritlo in php.

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: 'Lato', sans-serif;
}

.overlay {
height: 0%;
width: 100%;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0, 0.9);
overflow-y: hidden;
transition: 0.5s;
}

.overlay-content {
position: relative;
top: 25%;
width: 100%;
text-align: center;
margin-top: 30px;
}

.overlay a {
padding: 8px;
text-decoration: none;
font-size: 36px;
color: #818181;
display: block;
transition: 0.3s;
}

.overlay a:hover, .overlay a:focus {
color: #f1f1f1;
}

.overlay .closebtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
}

@media screen and (max-height: 450px) {
.overlay {overflow-y: auto;}
.overlay a {font-size: 20px}
.overlay .closebtn {
font-size: 40px;
top: 15px;
right: 35px;
}
}
</style>
</head>
<body>

<div id="myNav" class="overlay">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
<div class="overlay-content">
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
</div>

<h2>Fullscreen Overlay Nav Example</h2>
<p>Click on the element below to open the fullscreen overlay navigation menu.</p>
<p>In this example, the navigation menu will slide downwards from the top:</p>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>

<script>
function openNav() {
document.getElementById("myNav").style.height = "100%";
}

function closeNav() {
document.getElementById("myNav").style.height = "0%";
}
</script>

</body>
</html>

Publicado em
16 RESPOSTAS - 2 ÚTEIS
Mirko Boschetti
Mirko Boschetti
Moderator

non puoi inserire quel codice cosi...

devi togliere:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">

e tutto quello che hai scritto sopra... surprised

per esempio questo non ci deve essere:

Ler mais
Publicado em de Mirko Boschetti
Scalzo F.
Scalzo F.
User
Autor

Infatti non l ho inserito cosi, questo è solo il codice di esempio che ho usato.

la mia domanda è perche funziona perfettamente con android invece no con safari?

in particolare non funziona se lo metto nel header, non si espande a tutto schermo ma rimane dentro le dimensioni dell elemento codice.

Ler mais
Publicado em de Scalzo F.
Mirko Boschetti
Mirko Boschetti
Moderator

Ok, avevi scritto sopra:

Questo è il codice di esempio che ho usato,

poi hai messo un link dove però io non vedo quel menu... cool

Ler mais
Publicado em de Mirko Boschetti
Scalzo F.
Scalzo F.
User
Autor

è impostato per vedersi a risoluzioni sotto a 480 di x percui con un cellura.

se lo provi con android funziona, invece con iphone no!

Ler mais
Publicado em de Scalzo F.
Fabio C.
Fabio C.
User

Scusa @federico scalzo posso chiederti perchè non lo fai con il progemma ? O ofrse non ho capito io il risultato che vuoi ottenere !!! Se vuoi un hamburger menù che si apra a tutto schermo basta che, nei vari livelli, al passo 3--->modello imposti la larghezza dell'hamburger uguale alla largheza del livello e ti si vede a schermo intero.

Ler mais
Publicado em de Fabio C.
Fabio C.
Fabio C.
User

Passo2--->Modello--->Contenuto Modello

Ler mais
Publicado em de Fabio C.
Scalzo F.
Scalzo F.
User
Autor

Perché ne devo fare una trentina di questi menù. E ognuno è diverso con numerose voci. Percui vorrei prendere i dati da un database.

Cmq anche lo schermo pieno non funziona benissimo con il programma perché non si può mettere il 100% ma un numero fisso. Percui per esempio se il livello è 320px ed uno usa un dispositivo a 450px non sarà a pieno schermo. 

Ler mais
Publicado em de Scalzo F.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... ci sono diversi errori nel codice sorgente EXTRA della pagina che potrebbero comprometterne il funzionamento, relativi a impropri tag img, table, font, b, doppio /html, eccetera, da rivedere e riparare  con attenzione...
.

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪
Scalzo F.
Scalzo F.
User
Autor

Immagino che ci siano questi errori. Però il problema non è quello. Ho provato anche a fare una pagina vuota con solo il codice di sopra e il problema rimane. 

Ler mais
Publicado em de Scalzo F.
Scalzo F.
Scalzo F.
User
Autor

Poi se sposto in codice dall header al body allora funziona. Solo che li nasce un'altro problema. Il menù va sotto a tutto e con z-index non riesco a metterlo sopra a tutto. Se nessuno riesce ad avere una soluzione per il primo problema sarebbe utile una soluzione per il secondo. 

Ler mais
Publicado em de Scalzo F.
Claudio D.
Claudio D.
Moderator
Usuário do mês IT
federico scalzo
Poi se sposto in codice dall header al body allora funziona. Solo che li nasce un'altro problema. Il menù va sotto a tutto e con z-index non riesco a metterlo sopra a tutto. Se nessuno riesce ad avere una soluzione per il primo problema sarebbe utile una soluzione per il secondo. 

?

...scusa ma il codice del pulsante non lo hai messo in Oggetto Codice HTML ?

Ler mais
Publicado em de Claudio D.
Scalzo F.
Scalzo F.
User
Autor

Certo, altrimenti dove potevo metterlo? 

Ler mais
Publicado em de Scalzo F.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
federico scalzo
Poi se sposto in codice dall header al body allora funziona. Solo che li nasce un'altro problema. Il menù va sotto a tutto e con z-index non riesco a metterlo sopra a tutto. Se nessuno riesce ad avere una soluzione per il primo problema sarebbe utile una soluzione per il secondo. 

... secondo me, il codice originale <div *** *** *** </div>  + <script>***</script> ... così come sono, dovresti incollarli nella:

>> sezione Esperto | Codice personalizzato | 6^ opzione - Prima della chiusura del tag BODY

... invece il contenuto del tag <style> puoi lasciarlo in Oggetto Codice HTML, come hai fatto, magari eliminando il body, oppure incollarlo per intero (-body) nella:

>> sezione Esperto | Codice personalizzato | 3^ opzione - Prima della chiusura del tag HEAD

.

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪
Mirko Boschetti
Mirko Boschetti
Moderator

come detto già da me e confermato da KolAsim, io eliminerei tutti gli errori prima, visto che male non fà, e poi potrai provare a sistemare il resto...poi fai come credi... wink

Ler mais
Publicado em de Mirko Boschetti
Scalzo F.
Scalzo F.
User
Autor

Si ma correggere gli errori non risolvono la questione che ho proposto. Ho già detto che anche se usi solo il codice postato il alto fatto da un sito specializzato il problema rimane. 

Ler mais
Publicado em de Scalzo F.
Scalzo F.
Scalzo F.
User
Autor
 ‪ KolAsim ‪ ‪
federico scalzo Poi se sposto in codice dall header al body allora funziona. Solo che li nasce un'altro problema. Il menù va sotto a tutto e con z-index non riesco a metterlo sopra a tutto. Se nessuno riesce ad avere una soluzione per il primo problema sarebbe utile una soluzione per il secondo.  ... secondo me, il codice originale <div *** *** *** </div>  + <script>***</script> ... così come sono, dovresti incollarli nella: >> sezione Esperto | Codice personalizzato | 6^ opzione - Prima della chiusura del tag BODY ... invece il contenuto del tag <style> puoi lasciarlo in Oggetto Codice HTML, come hai fatto, magari eliminando il body, oppure incollarlo per intero (-body) nella: >> sezione Esperto | Codice personalizzato | 3^ opzione - Prima della chiusura del tag HEAD .

Trovata soluzione prendendo spunto suggerimento KolAsim ‪ :

codice <div *** *** *** </div> in proprità >> sezione Esperto Prima della chiusura del tag BODY

Css in proprità >> sezione Esperto Prima della chiusura del tag HEAD

Oggetto html con pulsante e codice <script>***</script> dentro modello >>contenuto modello >>header.

Grazie

Ler mais
Publicado em de Scalzo F.