Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    allineare al centro un menu orizzontale

    salve,
    ho un div contenitore con width:900px e un menu orizzontale che non ha larghezza definita:
    come posso fare si che questo sia allineato (orizzontalmente) al centro del div?
    codice:
    #menu ul{
    list-style:none;
    overflow:hidden;
    }
    #menu li{
    display:inline;
    }
    #menu a{
    display:block;
    float:left;
    height:48px;
    padding:2px 10px;
    text-decoration:none;
    line-height:48px;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non so esattamente come sia fatto il tuo codice HTML.
    Supponendo:
    codice:
    HTML:
    <div id="contenitore">
      <div id="menu">
        <ul ...
        ... /ul>
      </div>
    </div>
    
    CSS:
    #contenitore {
      width: 900px;
      ...
    }

    Prova ad aggiungere
    codice:
    #menu {
      margin: 0 auto;
    }
    Nota: non funziona se ci sono degli elementi float
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    grazie della risposta, ma chiaramente non funge se non ho definito la larghezza di #menu, e non posso farlo perché mi sballa tutte le animazioni 'hover' di jquery

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se si deve definire la larghezza di menu non ha piu` senso il tutto: infatti centrare due elementi di cui si conosce la larghezza si fa semplicemente dando margini opportuni.

    Quel metodo funziona se non ci sono interferenze da parte di altri elementi o attributi. Potrebbe ad esempio fallire se ci sono all'interno elementi float, o se ci sono altre interferenze.
    In particoalre non ha senso dare al tag <a> l'attributo display:block ed inserilo dentro un blocco con display:inline : qualche brwoser potrebbe interpretare come tu vuoi, ma qualche altro potrebbe arrabbiarsi e ignorare qualcuna delle formattazioni.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    veramente ho cercato di essere più crossbrowser possibile
    http://css.flepstudio.org/css-tutori...le-in-css.html
    pur essendo l'articolo del 2008 la soluzione mi sembra più solida di altre..
    come posso risolvere?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Da quanto ho capito il tuo menu non e` quello spiegato in quell'articolo.
    Li` definiscono come prima cosa: width:100% .
    E poi il display:inline dato ai[*] e` un errore semantico.

    Prova a vedere se trovi altri menu piu` adatti.

    Tra i "link utili" ne abbiamo raccolto un po'. A me piacciono quelli di CSSplay
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.