Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    6

    <div> a "scomparsa" crossbrowser... è possibile?

    Salve sto realizzando una pagina web e vorrei creare dei <div> a "scomparsa", un po' come i menu a tendina dove è visibile solo l'etichetta e appena ci si passa sopra con il puntatore del mouse esce fuori il menù attinente (per rendere l'idea http://cssplay.co.uk/menus/tabs_two.html). Un sistema di visualizzazione simile io vorrei applicarlo non ai link di un menù ma a dei box contenitori, anzi a dire la verità l'ho già realizzato in modo molto semplice con una tecnica completamente diversa rispetto al css di cssplay usata per i menù. Per farvi capire meglio ho creato una pagina di esempio (basta copiare/incollare e salvare in html):

    <html>
    <head>
    <title>Test contenitore a scomparsa</title>

    <style type="text/css" media="screen">
    html, body{margin: 0px; padding: 0px; height:99%;}

    #container{
    width: 500px;
    border: 3px double #000000;
    background-color: #33CC33;
    padding: 0px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    position: relative;
    overflow:hidden;
    height: 500px;
    }

    #box_1{
    padding: 0px;
    position: absolute;
    top: 50px;
    margin: 0px;
    left: 477px;
    background-color: #FF0000;
    }

    #box_1:hover {
    left: 220px;
    }

    #finestra_1 {
    background-color: #FFFFFF;
    width: 250px;
    border: 1px solid #000000;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 25px;
    position: relative;
    }

    </style>

    </head>
    <body>

    <div id="container">
    <div id="box_1">
    <div id="finestra_1">
    <ul>[*]Prova 1[*]Prova 2[*]Prova 3[/list]
    </div>
    </div>
    </div>

    </body>
    </html>

    in breve consiste nell' impostare il posizionamento del container principale su relativo (relative) e l' overflow su nascosto (hidden). Poi si creerà un box con posizionamento assoluto (absolute) e all'interno di esso andrà inserita la finestra che si desidera far comparire al passaggio del mouse, impostando, anche per lei un posizionamento relativo con un margine a sx di 25px che sarà l'etichetta sensibile al passaggio del mouse (nell'esempio l'etichetta è semplicemente rossa, ma è possibile aggiungere anche delle immagini con il nome della finestra da far comparire). Infine bisognerà posizionare #box_1 in modo che nel contenitore principale resti visibile solo l'etichetta (la parte restante non sarà visibile a causa dell' overflow), mentre sulla proprietà hover applicata a #box_1 non faremo altro che posizionare #box_1 quel tanto che basta a mostrare la restante parte della finestra nascosta con overflow. Se avete avuto pazienza di leggere fino a qui siamo finalmente arrivati al punto , questa tecnica si basa sull'hover applicato al <div> #box_1 che ovviamente non è supportata da IE 6.x (quindi addio a tutto l'effetto "scomparsa" o meglio "comparsa"), e qui si ritorna alla solita questione, ossia c'è un modo per adattare questo tipo di tecnica o usare un' altra tecnica che abbia gli stessi effetti usando il tag <a>? Io con il tag <a> sono riuscito con una tecnica diversa basata sulla proprietà visible a far digerire a IE 6.x lo spostamento della sola etichetta del #box_1, ma l'effetto completo fino ad ora non sono riuscito a "localizzarlo" per IE 6.x , c'è qualcuno che avrebbe qualche idea sul come fare ? :master:

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se ti accontenti di correggere il comportamento della pseudoclasse hover in javascript per IE <= 6 puoi leggere questo post

    http://forum.html.it/forum/showthrea...2#post10186432
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    6
    no, purtroppo mi serve solo css puro... certo che è incredibile come MS ha danneggiato la diffusione dei css con i suoi browser (almeno fino a IE 6.x), la cosa che mi da speranza è che nel link che ho postato prima il menu a scomparsa funziona anche su IE 6.x, ho notato che per realizzarlo sono stati usati dei particolari selettori per discendenza del tipo:

    codice:
    .menu ul li a:hover ul {visibility:visible; z-index:300;}
    dove praticamente il passaggio del mouse sopra un elemento link contenuto in un elemento lista di una lista non ordinata causa la visibilità dell' elemento <ul> discendente, quindi l'hover è applicato su <a> (compatibile con IE 6.x) ma i suoi effetti ricadono su <ul>. Non ho trovato molto su questo tipo di selezione, a questo link http://www.xs4all.nl/~peterned/csshover.html è spiegato brevemente (in inglese) il suo funzionamento e la sua utilità per la creazione dei menu. Pare che si basi sulla specificità degli elementi, ma non riesco a replicarlo anche per il mio caso (o almeno lo "vede" solo FF 2.0, ma non IE 6.x), c'è qualcuno che ne sa di più su questo tipo di selezione e se può tornare utile per arginare in alcuni casi la voragine che ha IE 6.x con la pseudoclasse :hover?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    5
    Salve, stavo cercando di implementare una chat "a scomparsa" sul mio sito usando l'html. Dopo ore a setacciare il web mi sono imbattuto in questo codice. Ora, devo dire che non so poco o niente dell'html. Dopo aver modificato le spaziature ecc... ho riscontrato dei problemi:
    1) Vorrei che il box rimanesse fisso sulla destra, quindi che scorra con la pagina.
    2) Inserire un testo verticale ("CHAT") nel box_1, una sorta di linguetta che sporge.
    3) Ho problemi di dimensioni, nel senso che il container credo che spazi un po' troppo e la pagina tende ad allargarsi verso destra facendo comparire l'odiosa scrollbar inferiore.

    Spero di essermi spiegato. Grazie in anticipo per l'aiuto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    5
    Aggiornamento: Ho risolto il problema 1) col comando "position: fixed" e le spaziature ma il problema 2) attende... Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    5
    Aggiornamento: Ho risolto tutti i problemi, ora però vorrei sapere come si fa a far comparire la finestra a comparsa al click del mouse e non al passaggio sopra del cursore e viceversa chiuderla al click del mouse. Che comando bisogna usare e dove inserirlo? Grazie.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    5
    Ce l'ho fatta da solo...

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    è meglio evitare di riesumare thread di 8 anni fa.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.