css - end - microsoft internet explorer wiki



IE8 mostra che il blocco inline non funziona (5)

È possibile impostare margin-right: 1px

ha funzionato per me abbastanza bene.

Dì che ho il seguente codice

<style type="text/css" media="all">
  span, ul, ul li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 0;
    list-style: none;
  }   
</style>
<span>i would want</span>
<ul>
  <li>this</li>
  <li>on</li>
  <li>one line.</li>
</ul>

Voglio che questo sia visualizzato in linea in IE8. Ovunque ho letto tutto dice che dovrebbe funzionare, IE8 supporta il blocco in linea. Tuttavia dopo una mattinata di tentativi non riesco a ottenere quanto sopra per allinearli. So che potrei farlo fluttuare, ma con gli altri elementi sulla mia pagina (non mostrati qui) avrei bisogno di usare un "clearfix" che è più marcato. Ho solo bisogno di indirizzare IE8 e mi piacerebbe sapere perché il blocco in linea non funziona per me quando apparentemente è supportato. Il codice precedente fa quello che voglio quando viene visualizzato in Google Chrome.


Answer #1

IE8 lo tratterà come un elemento a livello di blocco a meno che non si usi float.

.divInlineBlock
{
   display: inline-block;
   float: left;
}   

Answer #2

Non tutte le versioni IE8 sembrano funzionare allo stesso modo. Ho trovato che il codice dato, anche con un DOCTYPE, non funziona in IE 8.0.6001.18702, che è una versione precedente.

Tuttavia, la soluzione alternativa per le versioni di IE inferiori ha fatto il suo lavoro anche su quel particolare IE 8:

<!--[if lt IE 8]>
<style type="text/css">
    li { display: inline; }
</style>   
<![endif]-->


Answer #4

Suppongo che tu non abbia dichiarato un doctype. Prova a posizionarlo nella prima riga, prima del tag html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Il codice incollato funziona in IE8 con quel doctype.





internet-explorer-8