Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Menu a larghezza fissa

  1. #1

    Menu a larghezza fissa

    Buongiorno ragazzi.

    Ho inserito un semplice menů nel sito che sto sviluppando, fatto coi css.

    XHTML:
    codice:
    <div id="nav">
    L'AZIENDA
    I NOSTRI LAVORI
    DOVE SIAMO
    </div>
    CSS:
    codice:
    div#nav{
        font-size: 13px;
        font-family: Arial, Helvetica, sans-serif;
        text-align: center;
        padding: 3px 0 5px 0;
    }
    a.MENU
    {
        background-color: #999999;
        color: #FFFFFF;
        font-weight: Bold;
        text-decoration: None;
        margin: 0 15px 0 15px;
        padding: 4px 25px 4px 25px;
    }
    .pag_corrente{
        background-color: #336633;
        color: #EEEEEE;
        font-weight: Bold;
        text-decoration: None;
        margin: 0 15px 0 15px;
        padding: 4px 25px 4px 25px;
    }
    a:hover.MENU
    {
        background-color: #336633;
        color: #EEEEEE;
        font-weight: Bold;
        text-decoration: None;
        margin: 0 15px 0 15px;
        padding: 4px 25px 4px 25px;
    }
    Vorrei perň far si che le mie caselle (elementi del menu) abbiano larghezza fissa, e uguale per tutti (or ora la dimensione č tratta dal padding, quindi relativa al testo di ogni elemento.

    Avete suggerimenti? Grazie, ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Prova ad usare i <ul> e[*] per il menu. Sono elementi di blocco, quindi supportano il width.

    I tag segnalati sono quelli corretti dal punto di vista semantico, e la maggior parte dei menu sono realizzati tramite essi (trovi una raccolta di menu nell'apposita sezione dei "link utili").
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Originariamente inviato da Mich_
    Prova ad usare i <ul> e[*] per il menu. Sono elementi di blocco, quindi supportano il width.

    I tag segnalati sono quelli corretti dal punto di vista semantico, e la maggior parte dei menu sono realizzati tramite essi (trovi una raccolta di menu nell'apposita sezione dei "link utili").
    Ok, ho usato <ul> e[*]. Ma se devo utilizzare effetti tipo il cambio di background on hover della[*]??

    codice:
    ul li{
        list-style: none;
        width:100px;
        border: 1px solid;
        margin: 3px;
        padding: 3px;
        background-color: #999999;
        color: #FFFFFF;
    }
    
    ul li a:hover{
        background-color: #336633;
        color: #EEEEEE;
        font-weight: bold;
        text-decoration: none;
    }
    Cosě purtroppo il cambio di background lo fa chiaramente solo al testo.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Purtroppo IE6 non conosce il
    li:hover
    che invece e` supportato da tutti gli altri browser moderni.

    Pero` ci sono dei trucchi per allargare tag <a> a tutto lo spazio a disposizione.
    Ho visto un accenno a cio` pochi giorni fa in questo forum, ma se cerchi nelle raccolte (vedi tra i "link utili"), dovresti trovarlo senza troppe difficolta`.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Uh, sei istantaneo, Mich_!

    Comunque ho fatto, ecco, cosě funziona, posto il codice se servisse a qualcuno ed un'immagine:
    CSS:
    codice:
    ul, li{text-align: center; background-color:#CCCCCC}
    
    ul li{
    	list-style: none;
    	width: 100px;
    	border: 1px solid;
    	margin: 3px;
    	background-color: #999999;
        color: #FFFFFF;
    }
    
    ul li a:link, ul li a:visited{
    	display: block;
        font-weight: bold;
        text-decoration: none;
    	background-color: #999999;
        color: #FFFFFF;
    	height: 16px;
    	line-height: 16px;
    }
    ul li a:hover{
    	display: block;
        background-color: #336633;
        color: #EEEEEE;
        font-weight: bold;
        text-decoration: none;
    	height: 16px;
    	line-height: 16px;
    }
    HTML:
    codice:
    <ul>[*]inserisci[*]modifica[*]cancella[/list]
    E allego l'esempio. Ovviamente la manina punta su "modifica".

    Mich_, tu che ne sai, come faccio a centrare questo mio menů orizzontalmente nel div che lo contiene?

    Con IE basta mettere "text-align: center" all'ul, con FF non funziona. :master: Grazie.
    Immagini allegate Immagini allegate

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Con IE occorre usare una regola pensata per altre cose.

    Per i browser corretti, basta mettere
    margin: 0 auto;
    nel blocco da centrare (deve avere display:block.


    PS: non ha senso ripetere gli attributi che non cambiano in tutte le regole: ad esempio il display:block; come pure height: 16px; dovrebbero stare solo nel ul li { e non in tutte le varie varianti.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Originariamente inviato da Mich_
    PS: non ha senso ripetere gli attributi che non cambiano in tutte le regole: ad esempio il display:block; come pure height: 16px; dovrebbero stare solo nel ul li { e non in tutte le varie varianti.
    Sěsě, grazie, avevo giŕ ottimizzato.

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.