Ciao a tutti,
avrei l'esigenza di centrare un div all'interno della pagina. Il mio problema è che la larghezza del div è variabile e quindi se uso il solito sistema margin auto nn funziona.
Qualcuno sa come risolvere questo problema??
grazie
Ciao a tutti,
avrei l'esigenza di centrare un div all'interno della pagina. Il mio problema è che la larghezza del div è variabile e quindi se uso il solito sistema margin auto nn funziona.
Qualcuno sa come risolvere questo problema??
grazie
Scusami non mi torna molto quello che hai detto ( o non ho capito io =) ), cmq margin:0 auto centra un elemento a prescindere dalle sue dimensioni.
Hai fatto così? :
codice:body { margin:0; padding:0; text-align:center; } #tuo_Div { margin: 0 auto; .... }
Scusami non mi torna molto quello che hai detto ( o non ho capito io =) ), cmq margin:0 auto centra un elemento a prescindere dalle sue dimensioni purche` il contenitore abbia dimensinoi definite
Hai fatto così? :
codice:html, body { width: 100%; } body { margin:0; padding:0; text-align:center; } #tuo_Div { margin: 0 auto; .... }
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Non ho capito la tua correzione in questo frangente.
#tuo_Div nel suo caso ha delle dimensioni stabilite ma variabili dinamicamente e da quello che ho capito è il contenitore principale.
Nel codice che ho riportato non ho definito dimensioni mettendo dei puntini perchè era sottinteso dal suo post che fossero definite.
se ho questo codice:
non c'è bisogno di definire una width:100% per gli elementi body e html.codice:body { margin:0; padding:0; text-align:center; } #tuo_Div { margin: 0 auto; width:600px; /*esempio di larghezza che verrà modificata*/ ..... }
No, e` proprio li` il punto.non c'è bisogno di definire una width:100% per gli elementi body e html
Alcuni browser stringono il body il piu` possibile, per cui poi i margini automatici non hanno piu` significato.
E` necessario che il contenitore (in questo caso il body) sia largo il 100%, e ricorsivamente tutti i blocchi fino alla finestra (definita dal tag <html>).
Nei browser standard il body e` un oggetto diverso dall'html (invece in IE6 i due oggetti sono coincidenti).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
e fin qui siamo daccordo.Nei browser standard il body e` un oggetto diverso dall'html (invece in IE6 i due oggetti sono coincidenti).
Questo comportamento mi è nuovo nonostante io testi sui browser più diffusi compresi IE a partire dalla versione 5.Alcuni browser stringono il body il piu` possibile, per cui poi i margini automatici non hanno piu` significato.
Puoi farmi un esempio di browser che necessiti di definire una larghezza per gli elementi body e html?
Mi può sicuramente servire per il futuro.
Che mi risulti, ad esempio FF 1.5. Non ho testato con FF 2.0 (il computer su cui lavoro e` un po' vecchio e non suopporterebbe un browser piu` pesante).Puoi farmi un esempio di browser che necessiti di definire una larghezza per gli elementi body e html?
Comunque se vuoi farti un'idea piu` precisa, ti consiglio una ricerca nel forum: ci sono stati vari interventi in questo senso.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Dato il seguente codice:
Firefox 1.5 non da problemi di centratura del div#box.codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it"> <head> <title>prova</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> * { margin:0; padding:0; } body { text-align:center; } #box { margin:auto; width:600px; background:red; color:#fff; } </style> </head> <body> <div id="box"> Prova di testo</p> </div> </body> </html>
Non è che questo comportamento succede in particolari situazioni? o con browser molto datati, perchè so che alcuni browser molto vecchi (quelli prima del 1999) non gestiscono esattamente i margini impostati con valore auto.