Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918

    Allineamento centrale vari tag LI

    allora, ho un elenco non ordinato, dove al suo interno ci sono 4 tag li contenenti una parola, e il contenuto dei tag li può variare, ma vorrei che queste 4 parole fossero sulla stessa riga e centrate rispetto ad un box che le contiene che è largo 700px. Come potrei fare?

    questo è il codice

    <div id="container">
    <ul id="menu">
    [*]Who
    [*]What
    [*]When
    [*]Why
    [*]Contacts
    [*]About Us
    [/list]
    </div>


    in xhtml transitional
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  2. #2
    codice:
    #container {
    width: 100%;
    min-height: 40px; /* Hack per la min-height in IE */
    height: auto !important; /* Hack per la min-height in IE */
    height: 40px; /* Hack per la min-height in IE */
    }
    
    #menu {
    text-align: center;
    padding: 0;
    margin: 0 auto;
    }
    
    #menu li {
    list-style: none;
    display: inline;
    padding: 0;
    margin: 0;
    }
    
    #menu li a {
    padding: 0;
    margin: 0 12px;
    height: 0; /* Hack per impostare i margini orizzontali degli elementi in linea in IE */
    line-height: 40px;
    }
    Ovviamente puoi impostare la regola di stile dell'elemento #container come preferisci. Una rapida spiegazione su due cose. L'ultima regola di stile (quella per gli elementi <a> interni agli elementi[*]) ha impostata la proprietà line-height. Questa ti è utile per determinare l'"altezza" di #container. L'ho impostata a 40px, ma puoi stabilire tu quanto deve essere alta. Grazie a line-height i tuoi link sono sempre centrati vericalmente rispetto al <div> che li contiene. Purtroppo, se diminuisci il carattere, anche il <div> che contiene la lista dei link si abbasserà troppo. Per questo motivo, nella regola per l'elemento #container ho usato l'hack che permette di gestire la min-height (Firefox la supporta anche senza hack, IE no).
    Il valore della min-height (e della height) deve essere uguale a quello della line-height impostata per gli elementi <a>. Infine, nell'ultima regola, vedrai la dichiarazione height: 0. Questo serve a IE perché altrimenti non riesce ad impostare i margini orizzontali degli elementi <a> (che sono elementi in linea, ma si sa...IE fa di testa sua!). Gli altri browser ignorano semplicemente questa dichiarazione perché non è possibile impostare l'altezza per gli elementi in linea. In pratica, IE vuole un'altezza (anche nulla) per poter impostare i margini orizzontali degli elementi in linea!

    Devi solo modificare il codice XHTML della tua pagina NON andando a capo tra un tag[*] e l'altro. Questo perché tutti i browser interpretano l'"a capo" come uno spazio, che viene aggiunto tra i vari tag (e che va a sommarsi al valore dei margini orizzontali degli elementi <a> contenuti in essi).

  3. #3
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    grazie mille.

    non avevo pensato alla possibilità di mettere il li in inline
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

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.