Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    onmouseover su div annidati - problema con firefox

    Salve, vado subito al dunque, ho creato la mia paginetta dove in alto ci sono dei pulsanti a forma di segnalibri, nascosti parzialmente dal div content tranne uno che viene visualizzato per intero. al passaggio del mouse sul div segnalibro, vorrei che cambiasse il suo margin-top, in modo che si alzi.

    Io ho fatto in questo modo, ma in firefox a quanto pare il div nascosto non scatena nessun evento:
    html:
    Codice PHP:
    <body>
        <
    div id="conteiner">
            <
    div id="ombra_sxtop">
            </
    div>
            <
    div id="ombra_top">
            </
    div>
            <
    div id="ombra_dxtop">
            </
    div>
              <
    div id="ombra_sx">
            </
    div>
            <
    div id="content">
                <
    script language="javascript">
    function 
    alza(linguetta)
    {
            
    document.getElementById(linguetta).style.marginTop="-75px";
    }

    function 
    abbassa(linguetta)
    {
            
    document.getElementById(linguetta).style.marginTop="-65px";
    }
    </script>
    <div id="top">
        [img]img/logo-carretto.png[/img]
        <div id="linguetta_rossa" onmouseover="javascript:alza('linguetta_rossa');return false;" onmouseout="javascript:abbassa('linguetta_rossa');return false;">
            <div class="btt">
                <span class="pulsanti">
                    Azienda            </span>
                <div class="sottomenu">
                    <span class="txtpic">
                        bla bla bla                </span>
                </div>
            </div>
        </div>
        <div id="linguetta_verde" onmouseover="javascript:alza('linguetta_verde');return false;" onmouseout="javascript:abbassa('linguetta_verde');return false;">
            <div class="btt">
                <span class="pulsanti">
                    Prodotti            </span>
            </div>
        </div>
        <div id="linguetta_blu" onmouseover="javascript:alza('linguetta_blu');return false;" onmouseout="javascript:abbassa('linguetta_blu');return false;">
            <div class="btt">
                <span class="pulsanti">
                    Contattaci            </span>
            </div>
        </div>
    </div>
                <div id="testo">
                    <span class="txtVerde">
                  bla bla bla
                   </span>            </div>
                <div id="testodx">
                    <span class="txtVerde">
        bla bla bla
                   </span>            
    </div>
                <div id="SlideFoto">
                    <div id="NomeFoto">
                        <span class="txtNomeFoto" id="ClassNomeFoto">
                        </span>                
                    </div>
                    <img class="FotoAnteprima" id="SrcFoto" />
                    </div>
            </div>
            <div id="ombra_dx">
            </div>
            <div id="ombra_sxbottom">
            </div>
            <div id="ombra_bottom">
            </div>
            <div id="ombra_dxbottom">
            </div>
            <div id="footer">
        <span class="txtpic">
            bla bla bla
    </span>
    </div>    </div>
    </body> 
    css:
    Codice PHP:
    /*stili per il layout fisso con altezza minima*/
    html,body{
        
    margin0;
        
    padding:0;
        
    height:100%;
    }

    body{
        
    backgroundurl(img/sfondo.jpg);
        
    font-familyarial,sans-serif;
        
    font-size76%;
        
    text-aligncenter;
    }

    div#conteiner{
        
    position:relative
        
    width760px;
        
    height:1px
        
    min-height:100%;
        
    margin0 auto;
        
    overflow:hidden;
        
    text-alignleft;
        
    z-index:1;
    }

    div#top{
          
    height96px;
        
    margin-top:-60px;
          
    z-index4;
        
    float:right;
        
    width:746px;
    }


    div#content {
        
    float:left;
        
    text-alignleft;
        
    background:#FFF5D3 url(img/sfondo_pagina.jpg) repeat-x;
        
    width746px;
        
    height:1px
        
    min-height:82.5%;
        
    z-index:3;
    }

    div#footer{
          
    width740px;
          
    height7.5%;
          
    z-index2;
        
    margin-left:10px;
        
    text-align:center;
    }

    div#testo{
        
    position:relative;
        
    float:left;
        
    z-index:6;
        
    width:370px;
        
    text-align:justify;
        
    margin:10px;
        
    line-height:18px;
    }

    div#testodx{
        
    position:relative;
        
    z-index:6;
        
    width:240px;
        
    text-align:justify;
        
    margin:10px;
        
    margin-left:490px;
        
    line-height:18px;
    }

    div#linguetta_rossa{
        
    float:left;
        
    background:url(img/linguetta_rossa.pngno-repeat;
        
    width:88px;
        
    height:195px;
        
    margin-top:-65px;
        
    margin-left:390px;
        
    position:relative;
        
    z-index:300;
    }
        
    div#linguetta_verde{
        
    float:left;
        
    background:url(img/linguetta_verde.pngno-repeat;
        
    width:88px;
        
    height:195px;
        
    margin-top:-65px;
        
    margin-left:2px;
        
    position:relative;
        
    z-index:-30;
    }

    div#linguetta_blu{
        
    float:left;
        
    background:url(img/linguetta_blu.pngno-repeat;
        
    width:88px;
        
    height:195px;
        
    margin-top:-65px;
        
    margin-left:3px;
        
    position:relative;
        
    z-index:-31;
    }

    div#SlideFoto{
        
    positionabsolute;
        
    background:url(img/ombra_foto.pngno-repeat;
        
    clear:both;
        
    margin-left:3px;
        
    bottom:5.9%;
        
    width740px;
        
    height:319px;
        
    text-align:center;
    }

    div#NomeFoto{
        
    positionabsolute;
        
    margin-top:250px;
        
    width:300px;
        
    height:30px;
        
    background:url(img/sfondo_nomefoto.png);
        
    line-height:30px;
    }


    /* Ombre */

    div#ombra_top{
        
    float:left;
        
    margin-top:96px;
        
    background:url(img/ombra_top.png);
        
    width746px;
        
    height:6px
    }

    div#ombra_bottom{
        
    float:left;
        
    background:url(img/ombra_bottom.jpg);
        
    width746px;
        
    height:6px
        
    margin0 auto;
    }

    div#ombra_sxtop{
        
    float:left;
        
    margin-top:96px;
        
    background:url(img/ombra_sx_top.jpg);
        
    width7px;
        
    height:6px
    }

    div#ombra_dxtop{
        
    float:right;
        
    margin-top:96px;
        
    background:url(img/ombra_dx_top.jpg);
        
    width7px;
        
    height:6px
    }

    div#ombra_sx{
        
    float:left;
        
    background:url(img/ombra_sx.jpg);
        
    width7px;
        
    height:1px
        
    min-height:82.5%;
    }

    div#ombra_dx{
        
    float:right;
        
    background:url(img/ombra_dx.jpg);
        
    width7px;
        
    height:1px
        
    min-height:82.5%;
    }

    div#ombra_sxbottom{
        
    float:left;
        
    background:url(img/ombra_sx_bottom.jpg);
        
    width7px;
        
    height:7px
    }

    div#ombra_dxbottom{
        
    float:right;
        
    background:url(img/ombra_dx_bottom.jpg);
        
    width7px;
        
    height:7px
    }


    /*STILI*/

    .pulsanti{
        
    font-family:Georgia"Times New Roman"Timesserif;
        
    font-size:14px;
        
    color:#E8E8E8;
        
    display:block;
    }

    .
    btt{
        
    width:88px;
        
    height:30px;
        
    margin0 auto;
        
    text-align:center;
        
    line-height:30px;
    }

    .
    sottomenu{
        
    width:73px;
        
    height:100px;
        
    margin20px auto;
        
    line-height:13px;
        
    text-align:left;
    }

    .
    txtpic{
        
    font-family:Georgia"Times New Roman"Timesserif;
        
    font-size:10px;
        
    color:#E8E8E8;
    }

    .
    txtNomeFoto{
        
    font-family:Georgia"Times New Roman"Timesserif;
        
    font-size:12px;
        
    color:#FFFFFF;
    }

    .
    txt{
        
    font-family:Georgia"Times New Roman"Timesserif;
        
    font-size:12px;
        
    color:#000000;
    }

    .
    txtVerde{
        
    font-family:Georgia"Times New Roman"Timesserif;
        
    font-size:15px;
        
    color:#C6D318;
        
    font-weight:bold;
    }

    .
    FotoAnteprima{
        
    margin-top:19px;


  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` un problema con la domanda. Pero` non so quale di questi:
    - e` una domanda di JS postata nel forum CSS
    - contiene del codice JS che non serve.

    Il menu a tab a linguette mobili si puo` realizzare anche con solo CSS: infatti il margin si modifica anche con l'effetto :hover.
    Sicuramente in giro ci sono degli esempi; in qualche caso cambia il colore di sfondo, e in tal caso la modifica e` semplice. Prova a vedere nelle raccolte puntate nei "link utili".
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    ho postato nel forum css, perchè pensavo che fosse un "problema" fra firefox e lo z-index.
    provo a cercare nei link utili, grazie per la risposta

  5. #5
    ho controllato nei link utili, ho messo in pratica il tuo suggerimento, ma funziona solo con IE, credo che il problema di base sia sempre lo stesso.
    PS Ho letto il titolo della discussione, e ho notato un errore, in realtà i div sono sovrapposti non annidati.

    Il problema credo stia li, Firefox disattiva i div che stanno sotto, quindi al passaggio del mouse non viene scaturito nessun evento.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    A me risulta che tutti i browser escludano dall'interazione i livelli sottostanti, tanto che e` uno dei modi usati per disabililtare alcune funzioni (viene "steso" sopra un livello trasparente).

    Quello che non capisco e` l'uso che fai del JS, che credo sia inutile in quel contesto.

    Comunque menu a tab ce ne sono di vario tipo, ma nessuno ha il problema della sovrapposizione del contenuto sopra le linguette: probabilmente nel tuo caso hai utilizzato i blocchi in modo non corretto.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    si, ma come ho detto al primo post, il livello sottostante è nascosto parzialmente, quindi in teoria la parte visibile del div dovrebbe essere attivo, giusto?

    il javascript l'avevo usato per far spostare il div, ma l'ho eliminato ed ho usato il css, come mi avevi suggerito.

    pensi che ci possano essere errori nel css di altri div?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Alpha_Php
    si, ma come ho detto al primo post, il livello sottostante è nascosto parzialmente, quindi in teoria la parte visibile del div dovrebbe essere attivo, giusto?
    Ricorda che i blocchi nelle pagine Web sono sempre e solo rettangolari. Possono essere trasparenti, ma non possono avere forme strane.

    Quindi se hai tre blocchi sovrapposti ed a ciascuno ci sono le relative tab collegate, le tab devono essere oggetti diversi dai blocchi.

    il javascript l'avevo usato per far spostare il div, ma l'ho eliminato ed ho usato il css, come mi avevi suggerito.
    Pero` non so come hai relizzato il tutto.

    pensi che ci possano essere errori nel css di altri div?
    E` una possibilita`, ma non avendo il codice non posso esprimermi.

    La cosa migliore che potresti fare, e` fare una pagina di prova con i tre blocchi sovrapposti e i menu a tab. Poi posta il link, cosi` possiamo verificarne il funzionamento ed il relativo codice.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non e` facile sistemare quella pagina. Ci sono vari oggetti HTML realizzati tramite tag sbagliati dal punto di vista semantico, e questo complica molto la sistemazione del CSS.
    Inoltre per fare gli esperimenti con i CSS sarebbe bene eliminare tutti i JS: in alcuni casi interferiscono e questo aumenta la complicazione.

    Nella pagina c'e` anche un grave errore di usabilita`: il testo sopra l'immagine e` illeggibile.

    Quindi quello che io farei e`:
    1. Ripartire da zero, con una pagina bianca in cui vanno inseriti gli oggetti HTML usando i tag per quello che rappresentano. Nel tuo caso e` molto importante usare id e class in modo corretto, altrimenti il menu non puo` funzionare: ad esempio le linguette devono avere una classe comune (per definire le caratteristiche comuni), ed un id diverso (per poter dare il colore corretto)

    2a. Inserire il menu a tab, copiandolo da un menu gia` fatto.
    2b. Aggiungere l'effetto :hover alle linguette

    3. Inserire il resto della pagina
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.