Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    42

    Margin auto non funziona

    Ho il seguente codice:

    HTML

    codice HTML:
    <section id="section">
     <aside id="container">
      <p class="centrato">Testo non centrato</p>
     </aside>
    </section>
    CSS

    codice:
    #section
    {
     width: 96%;
     height: 60%; 
     margin: 0 auto;
    }
    
    #container
    {
    
     display: inline-block;
     height: 100%;
     width: 70%;
    
    
    }
    
    .centrato
    {
    
     padding: 1%;
     width: 50%;
     margin: auto;
     text-align: center;
     vertical-align: middle;
    
    
    }
    Il paragrafo ".centrato" viene centrato all'interno dell'aside "#container" solo orizzontalmente, ma non verticalmente, perché? Qual è la soluzione al problema? (Preferirei che l'altezza rimanesse "su misura" intorno al ".centrato")

    Grazie mille in anticipo

  2. #2
    vertical-align: middle;
    non funziona ormai quasi più, bisogna usare line-height dare un'altezza al contenitore e lo stesso valore a line-height

    Edit: Per postare del codice bisogna usare il tag [ code]....[/code]
    Ultima modifica di carlomarangoni; 03-08-2014 a 23:44
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    42
    Non esiste un altro metodo che possa permettere di non dover settare l'altezza?? E poi perché non funziona margin:auto??

  4. #4
    Quote Originariamente inviata da plaf2000 Visualizza il messaggio
    ... E poi perché non funziona margin:auto??
    Non è questo che non funziona e poi non è questo che allinea verticalomente! Ma:
    Quote Originariamente inviata da carlomarangoni Visualizza il messaggio
    vertical-align: middle;
    non funziona ormai quasi più,.....
    Perchè è obsoleto e i browser moderni lo ignorano
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    42
    Quote Originariamente inviata da carlomarangoni Visualizza il messaggio
    Non è questo che non funziona e poi non è questo che allinea verticalomente! Ma:Perchè è obsoleto e i browser moderni lo ignorano
    Ma allora proprio non hai capito il problema??? Il .centrato non viene centrato ALL'INTERNO DELL'ASIDE #CONTEINER!! Il problema non è il testo del .centrato che non viene centrato, ma tutto l'elementp p!!

    Spero abbiate finalmente capito

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    42
    *Spero hai finalmente capito

  7. #7
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    Manteniamo toni convenienti, grazie.

    codice:
    #container{
     display: table;
     width: 70%;
     height: 100%;
     vertical-align:middle;
    }
    .centrato{
     display: table-cell;
        padding: 1%;
     width: 50%;
     text-align: center;
     vertical-align: middle;
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    42
    Quote Originariamente inviata da Prill Visualizza il messaggio
    Manteniamo toni convenienti, grazie.

    codice:
    #container{
     display: table;
     width: 70%;
     height: 100%;
     vertical-align:middle;
    }
    .centrato{
     display: table-cell;
        padding: 1%;
     width: 50%;
     text-align: center;
     vertical-align: middle;
    }
    Hai ragione, mi scuso. Grazie mille per il codice, proverò e ti farò sapere. Ma vertical-align non è obsoleto? E perché margin:auto non viene utilizzato neanche questa volta??

  9. #9
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    Modifica così:

    codice:
    css:
    
    #container{
     display: table;
     width: 70%;
     height: 100%;
     vertical-align:middle;
     background-color:#CC99CC
    }
    .centrato{
     display: table-cell;
     vertical-align: middle;
    }
    .centrato p{
     padding: 1%;
     width: 50%;
     text-align: center;
     margin:0 auto;
     background-color:#996699
    }
    
    html:
    
    <section id="section">
     <aside id="container">
      <div class="centrato"><p>Testo centrato</p></div>
     </aside>
    </section>
    solo ai fini della visualizzazione ho inserito un colore di sfondo.

    Aggiungo:

    Nel precedente esempio il paragrafo non era centrato orizzontalmente perché occupava tutta la larghezza dell'elemento che lo conteneva (comportandosi come una cella).

    Vertical-align non è obsoleto, ma è proprietà non applicabile a tutti gli elementi
    Ultima modifica di Prill; 11-08-2014 a 13:46

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    42
    Quote Originariamente inviata da Prill Visualizza il messaggio
    Modifica così:

    codice:
    css:
    
    #container{
     display: table;
     width: 70%;
     height: 100%;
     vertical-align:middle;
     background-color:#CC99CC
    }
    .centrato{
     display: table-cell;
     vertical-align: middle;
    }
    .centrato p{
     padding: 1%;
     width: 50%;
     text-align: center;
     margin:0 auto;
     background-color:#996699
    }
    
    html:
    
    <section id="section">
     <aside id="container">
      <div class="centrato"><p>Testo centrato</p></div>
     </aside>
    </section>
    solo ai fini della visualizzazione ho inserito un colore di sfondo.
    Funzionava già il codice di prima Grazie mille comunque. Non c'è invece un modo per fare in modo che il #container resti come un inline-block?

Tag per questa discussione

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.