Perché i div nei css sono più stretti in ie e come ovviare al problema

Juna - 27 lug 2005 01:45

Mentre mettevo in piedi MarqueeFader mi sono imbattuta in una...diciamo..."particolarità" di Ie (per non dire altro!) per cui se uno decide di usare un box con margini, padding o border dentro ad un altro box si accorge che in Ie risulta sempre un po' più stretto: più precisamente risulta stretto (o largo!) come se fosse senza margini, padding o border.

Questo succede perchè Ie deve sempre fare il particolare e calpestare le regole...stavolte quelle dei css: infatti lui per width del box considera la larghezza comprensiva di tutte queste cose; di conseguenza se si imposta una larghezza, che so, di 200px con margine 10, padding 5 e border 2 succede che si vede comparire sullo schermo un box di 200-20-10-4. :P E' inconcepibile 'sta cosa...

Come fare per ovviare al problema? Ve lo dico io. :P Conviene usare un fix detto di Tantek. Praticamente nel css si specifica una prima width valida per Ie e poi si mettono due proprietà "fake" che però sono interpretate da tutti gli altri browser, pur bloccando ie.

Ne risulta una dimensione uguale per tutti i browser!

#marginBlock {
border-color: #d0d0d0;
border-style: dotted;
border-width: 1px;
font-weight: normal;
padding: 1em;
margin: 1em;
width:14em;
overflow:hidden;
}

#containingBlock {
background-color: #f5f5fb ;
padding: 0.4em 0;
overflow:hidden;
width:12em;
voice-family: "\"}\"";
voice-family: inherit;
width:14em;
overflow:hidden;
}

 

 
Weblog Koan Progetti Foto Contatti DW.net map