salta la lista degli articoli e vai al contenuto
salta la lista categorie e vai al contenuto
Il pretesto per questo articolo mi arriva proprio dalla grafica di questo mio sito.
Fino ad ora non ho mai trattato l’argomento bug, ma realizzando la grafica del sito mi sono imbattuto proprio in un bug.... e indovinate su quale browser?....... si si Internet Explorer 6. Ma veniamo ai fatti.
Per realizzare la grafica del sito, ho usato, almeno per la parte interna, due colonne, una per il le liste dei contenuti ed una per i testi.
Detto questo vediamo il codice che ho usato per realizzare le due colonne del contenuto:
#sinistra {
width: 220px;
float: left;
margin: 100px 0 0 220px;
text-align: right;
}
#destra {
width: 400px;
margin: 100px 0 0 500px;
}
Questo codice, dispone una colonna a sinistra, spostata rispetto all’elemento che la contiene di 220px e una a destra alla stessa altezza grazie alla definizione di float: left. Il codice sopra esposto funziona egregiamente con Fire Fox, Opera, Safari, IE 5.5 e IE 5, ma non con IE 6.
Quando mettiamo una colonna con un margine left o right positivo e una definizione di float, la misura di margine viene raddoppiata. Nel caso specifico la colonna di sinistra non si posizionava a 2200px dal margine del contenitore, ma a 440px.
Bene, che fare? C’è una soluzione a tutto, e in questo caso, la soluzione è inserire un display inline nella definizione della colonna sinistra. Non è molto logico ed è assolutamente ininfluente per tutti gli altri browser, ma per IE 6 questa ulteriore definizione risolve i problemi.
Il codice quindi diventa:
#sinistra {
width: 220px;
float: left;
display: inline;
margin: 100px 0 0 220px;
text-align: right;
}
E tutto funziona!