Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58

    Risultato diverso tra browsers.

    Salve. Volevo chiedervi una parere su un problema che mi è capitato provando queste poche righe su diversi browsers quali IE6, Firefox2 e Opera 9. Per via di text-align:center; nell'attributo style di body tutto quello chè c'è dentro body dovrebbe essere centrato, giusto? ok... con IE6 funziona mentre con Firefox2 e Opera mi allinea a sinistra come se non avessi dato quell'attributo. Ecco il codice se qualcuno lo volesse provare:

    codice:
    <html>
    <head><title>Prova</title></head>
    <body style="text-align:center;">
    <div style="text-align: center; width: 250px; border:dashed 1px #006633">
    <p style="text-align:justify; margin: 4px 4px 4px 4px">Questo testo è di prova. Questo testo è di prova. Questo testo è di prova. Questo testo è di prova. Questo testo è di prova. Questo testo è di prova. </p>
    </div>
    </body>
    </html>
    Ora, è semplice problema di compatibilità tra browsers oppure sbaglio io qualcosa? Non ho provato ad usare align per il fatto della sua disapprovazione da parte dello strict delle specifiche html 4.01 del W3C.

    Grazie anticipatamente!

  2. #2
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Mah...non vorrei dire una stupidaggine - tanto qualcun'altro interverrebbe - ma io metterei al div che contiene il tuo paragrafo un bel "margin: 0px auto"...
    in questo modo suddivide in parte uguali, nei lati dx e sx, lo spazio..
    fammi sapere

  3. #3
    ciao!
    tu hai iniziato a scrivere CSS con IE?
    allora devi capire che IE sbaglia in questo:
    secondo le specifiche, nessun elemento di blocco può essere centrato con
    'text-align', poichè questa proprietà allinea solo i box inline all'interno di un elemento di blocco, non il blocco stesso.

    quindi:

    codice:
    body {text-align: center;}
    
    div {margin: 2em auto; text-align: left;}
    la 1a dichiarazione è per IE, la seconda per i browser standard compliant. così hai tutto centrato sia in IE, FF, Op.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58
    Grazie per la risposta. Per i browser come FF e Opera funziona il metodo di mettere margin: auto; , xò purtroppo non va con IE6 (su ie 7 sapete mica se funziona?). Voi per implementare una cosa del genere che sia xò crossbrowser come fareste? Usereste uno script?

  5. #5
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    se metti "margin: auto;" applichi un margine automatico a tutti i lati..invece a te serve solo a quelli laterali, quindi: "margin: 0px auto". E' una forma abbreviata della proprietà margin.
    Lascia il css come lo avevi impostato in precedenza, e aggiungi questa proprietà margin al div che contiene il tutto..
    così, a me con IE6 funge...


  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    58
    ah lol io avevo levato il text-align al body e avevo messo solo il margin 0px auto al div, credo sia per questo che con ie6 non mi funzionava. Un'ultima cosa... ho notato che elementi come P figli di body (quando body ha style="text-align: center") vengono allineati al centro, a differenza di div. Centra qualcosa con gli elementi a livello di blocco e quelli in linea? Che differenza c'è tra questi?

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.