Come ottenere & # 8220; posizione: risolto & # 8221; css per funzionare in IE 7+ con doctype TRANSITIONAL?
-
06-07-2019 - |
Domanda
So che position: fixed;
non era supportato da IE fino a IE 7 e funziona in IE 7 solo se hai un STRICT DOCTYPE
.
La mia domanda è: " Come faccio a farlo funzionare con IE 7 con DOCTYPE TRANSITORIO
? "
Per favore, non suggerire di cambiare un DOCTYPE
, poiché questo non risponde alla mia domanda, grazie.
Soluzione
Non è necessario un DOCTYPE rigoroso per il supporto fixed
. Hai solo bisogno di un DOCTYPE che attivi Modalità standard (o & # 8216; quasi standard & # 8217 ;). Questo può essere un tipo di transizione come:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
o XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
purché sia ??incluso l'ID di sistema (l'URI alla fine).
Se le tue pagine si basano sulla modalità Quirks (ugh!), mi dispiace ma non puoi usare fixed
e dovrai ricorrere a hacker JavaScript (ma allora potresti aver bisogno di quelli per IE6).
Altri suggerimenti
La posizione fissa non funziona per me nemmeno con i tipi Documento di transizione / rigoroso. Tuttavia sto usando IE9 in modalità compatibilità e supponiamo di renderizzarlo usando le librerie di runtime IE8. Per risolvere questo problema ho dovuto aggiungere il seguente CSS all'elemento.
.elementToBeFixed {
position: fixed;
top: 0;
left: 0;
}
Non funziona con la parte superiore o sinistra mancante, è necessario impostarle esplicitamente su zero (o sul valore desiderato) affinché funzioni in tutte le versioni di IE .... Inutile dire che IE fa schifo.