Domanda

Quando viene rilasciato IE8, il seguente codice funzionerà per aggiungere un foglio di stile condizionale?

<!--[if IE 8]>
  <link rel="stylesheet" type="text/css" href="ie-8.0.css" />
<![endif]-->

Ho letto rapporti contrastanti sul fatto che funzioni con la beta. Spero che qualcuno possa condividere la propria esperienza. Grazie.

È stato utile?

Soluzione

Ha funzionato per me - & nbsp; sia in modalità stranezze sia in modalità di conformità agli standard. Tuttavia, non funziona quando si passa alla modalità di compatibilità IE8.

Altri suggerimenti

Una cosa da notare:

Funziona, MA se stai caricando la pagina / sito rete locale (ad esempio Intranet) verrà caricato in IE7 modalità per impostazione predefinita! (aggiornamento - localhost [*] è uno speciale nel caso in cui viene eseguito il rendering in modalità standard)

Questo va contro la dichiarazione originale di MSFT di diventare STANDARD di default.

per es.

http://127.0.0.1/mysite/mypage.php  <-- IE8 by default (updated!)
http://localhost/mysite/mypage.php  <-- IE8 by default (updated!)
http://machinename/mysite/mypage.php  <-- IE7 by default
http://192.168.100.x/mysite/mypage.php  <-- IE7 by default
http://google.com/  <-- IE8 by default

[*] - Scott Dickens [MSFT] ha osservato in un commento qui sul blog di IE che localhost era uno scenario speciale nell'Intranet (spesso usato per sviluppare siti Internet), pertanto per impostazione predefinita veniva visualizzato in modalità Standard.

Per testare in quale modalità viene realmente eseguito il rendering di una pagina in IE8, è possibile utilizzare controllare gli strumenti per sviluppatori o utilizzare questo codice bookmarklet (funziona solo in IE8):

javascript:
var vMode=document.documentMode;
var rMode='IE5 Quirks Mode';
if(vMode==8){
  rMode='IE8 Standards Mode';
} else if(vMode==7){
  rMode='IE7 Strict Mode';
}
alert('Rendering in: '+rMode);

Strumenti / Impostazioni vista compatibilità deselezionali tutti

Grazie per l'aiuto. Ho scoperto la soluzione, apparentemente il problema era che ogni foglio di stile utilizzava il proprio attributo title. Una volta ho tolto il titolo da tutto tranne il foglio di stile principale, senza problemi.

Questa è una strana questione unica di IE8 - e sebbene mi sia stato detto che dovrebbe funzionare in quel modo, qualcosa a che fare con "Preferenceheet Preference" - serve solo a creare problemi poiché la soluzione richiede la rimozione del titolo che potrebbe essere utile durante gli script, ecc. - quando è necessario chiamare il foglio di stile.

In ogni caso, non sono sicuro che si tratti di un bug o che si supponga che sia così, ma spero che Microsoft indaghi ulteriormente.

Grazie

Perché mai preoccuparsi di scrivere un foglio di stile separato per IE8?

Se hai già eseguito il debug per IE7, puoi forzare IE8 in modalità compatibilità e quindi visualizzare il tuo codice come se IE8 fosse IE7.

Tutto quello che devi fare è mettere questo DESTRA SOTTO il tag della testa di apertura. In qualsiasi altro luogo e non funzionerà.

E quindi è una mezz'ora in meno di lavoro in media per progetto, non è necessario un intenso debug per IE8!

Anche Msn.com lo fa - un po 'ironico, eh?

Di recente ho scritto un post sul blog: http://blog.sankhomallik.com/2009/11/16/stop-wasting-time-debugging- on-IE8-quando-si-dont-deve-to-o-get-IE8-to-comportarci-like-IE7 /

IE8 è piuttosto carino rispetto a IE7, ho fogli di stile per IE6, IE7 e IE8; all'inizio pensavo che i commenti condizionali non funzionassero per IE8 dopo un po 'di sperimentazione ho scoperto che alcune regole non venivano applicate da IE8 solo perché dovevo mettere al primo posto l'antenato o la classe genitore, ad es. ho avuto un corso come

.niceclass {some: properties; more: properties;}

ha funzionato solo se l'ho cambiato per qualcosa del tipo:

.parentclass .niceclass {some: properties; more: properties;} o

#parentselector .niceclass {some: properties; more: properties;}

a proposito nel mio css solo IE8 ho solo una regola prevalente, il resto è reso quasi come Firefox, anche se non mi sta facendo lasciare FF !.

Da parte mia volevo usare i bordi arrotondati usando css. IE8 su Vista non supporta tale. E poiché la grafica era tale che anche i bordi arrotondati mostrassero una bella ombra arrotondata, la pagina sembrava terribile in IE8.

Ho provato a usare i commenti condizionali, ma senza risultati, IE8 non avrebbe valutato l'espressione IE se non includesse quindi il foglio di stile esterno.

Poi ho dato un'occhiata a metterlo in modalità stranezze / compatibilità, tuttavia, questo non funzionava ancora poiché gli hack CSS che avevo usato non funzionavano più per IE8.

Ultimo ma meno importante ho trovato un hack CSS funzionante che renderà correttamente la pagina in modalità compatibilità.

* + html #test[id] { color:lime } 

Ora, non so se funziona per IE7 o versioni precedenti, quindi ne avresti almeno tre hack diversi per ogni versione di IE che desideri supportare, ad esempio

* + html #test,
    html+body #test,
    * html body #test
    { color:lime }

Mi chiedo quale sarà la prossima regressione di Internet Exploiter per noi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top