Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Menu orizzontale: tabella o serie di span?

    Salve!
    Sto realizzando alcune pagine per un progetto,ma ho un problema:

    Per la navbar, avevo in mente di realizzare 6 bottoni,distanziati perfettamente tra loro,e centrati in un'immagine di sfondo(anch'essa posta al centro).
    Ho pensato di usare una lista non ordinata,di allinearla con la proprietà "display: inline",centrarla,e metterla all'interno dell'immagine di sfondo(che fà parte dell'header,ho usato un margine negativo per spostare tutto il <div> contenente il menu)
    tutto ok.
    Però io volevo realizzare dei bottoni..
    Creo i bottoni,ma come li metto?
    faccio una cosa del tipo:
    [*]<span>Home</span>
    Allo span assegno adeguati pagging,(dato che non posso darli le proprietà height e width,o sbaglio?)
    Metto il bottone come sfondo dello span,ma ecco il problema:
    Le lettere contenute nei vari span NON sono uguali!e questo mi sballa(seppur di poco)l'aspetto del menu..
    Quindi assegnando lo stesso padding a tutti i gli span,esce una cosa poco armoniosa..
    Allora ho pensato:
    se uso una tabella?(terrorizzato dall'idea di dover usare una tabella per costruire un layout,anche se in minima parte)
    Allora faccio la mia tabellina:

    #menu table
    {
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 25px;
    text-align: center;
    }

    con i suoi td:

    #menu td
    {
    text-align: center;
    height: 52px;
    width: 52px;
    background: url(img/navbar.gif) center no-repeat;
    }


    Il risultato è perfetto,e ottengo risultati migliori anche su I.E.(che prima mi visualizzava un mezzo disastro).
    Però non sono troppo contento di aver usato una tabella..avete soluzioni alternative?
    Vi ringrazio!
    P.S: questa è un'immagine dei due menù a confronto.
    Ciao!
    ..::::#:.TrVe Norvegian Black Metal.:#::::..

  2. #2
    normalmente per i menu si usano liste non ordinate (marcatori ul e li) essendo liste di links non ordinati

  3. #3
    Riesumo il post x nn aprirne altri
    Certo per le liste di link..si usano appunto le liste!
    Ma nn riesco ad ottenere l'effetto desiderato..
    In un'altro lavoro, dono incappato nello stesso problema..
    Ho provato con:

    #menu li
    {
    display: inline;
    }

    span.menulink
    {
    display: table-cell;
    width: 75px;
    height: 75px;
    line-height: 75px;
    text-align: center;
    background: url(img/menubutton.gif) center center no-repeat;
    }

    HTML

    <ul>
    [*]<span class="menulink">Menu 1 </span>
    [*]<span class="menulink">Lavoro</span>
    [*]<span class="menulink">Industrie</span>
    [*]<span class="menulink">Prodotti</span>
    [*]<span class="menulink">Progetto</span>
    [*]<span class="menulink">Altro</span>
    [/list]


    E và tutto bene..IE se ne sbatte i cosiddetti e me lo vede come una lista orizzontale (ma correggierò creando un css apposito)..Opera invece..mi delude!!
    Mi visualizza la lista in verticale..Praticamente non riconosce il display: table-cell che ho dato allo span..
    (ho provato a darlo al[*] e funziona, tranne che m isposta tutto il testo a sx)
    Ho pensato, di nuovo, di usare una tabella SOLO per il menù, ma spero in un'altra soluzione!
    Grazie
    ..::::#:.TrVe Norvegian Black Metal.:#::::..

  4. #4
    non ho capito il perchè dello span innanzitutto
    poi: non usare table-cell

  5. #5
    In effetti l'ho eliminato passando le proprietà dikiarate all' <a>..
    (quest'ultima parte di lavoro l'ho "terminata" ieri notte alle 2, permettetemi qualke errorino :°D lol)
    ma il problema,ovviamente,rimane!
    il display: table-cell devo usarlo, altrimenti non posso specificare width e height al link!(ke mi serve assolutamente poterlo dare, altrimenti dando dei padding non avrei risultati uniformi tra i link, dato ke nn contengono lo stesso numero di lettere!)
    Potrei usare display: block; e darli il float a right, ma mi invertirebbe il senso dei menù e creerebe altri casini!
    vi posto un'immagine di come dovrebbero vedersi i menu: (screenshot da FF)

    Grazie!
    Immagini allegate Immagini allegate
    ..::::#:.TrVe Norvegian Black Metal.:#::::..

  6. #6
    table-cell come hai avuto modo di verificare, non è supportato da tutti i browser: usa display:block e flot:left (flottando a right il contenitore) oppure display:inline

  7. #7

    #menu a
    {
    float: right;
    width: 90px;
    height: 73px;
    line-height: 73px;
    text-align: center;
    background: url(img/menubutton.gif) center center no-repeat;
    }


    E ho risolto, invertendò però l'ordine dei menù nell'html!
    Grazie comunque!
    ..::::#:.TrVe Norvegian Black Metal.:#::::..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.