2008 8 gennaio 2008
Pochi mesi prima abbiamo visto, come si potrebbe comprendere un pezzo di CSS che sarebbe visibile solo IE6 ( Per il vostro IE Only ). Ci sono altri modi per raggiungere questo obiettivo pure. Basta includere un CSS separato, specifico per il tuo IE target. ciò potrebbe essere ottenuto con quello che si chiama come commenti condizionali.
Commenti condizionali è un modo per rilevare il tipo di browser e la versione. Rilevamento Browser viene eseguita per garantire che il contenuto presentato al browser specifico. Rilevamento del browser può essere fatto utilizzando diverse tecniche. Questo metodo ha diversi vantaggi rispetto ai metodi precedenti, che comprendevano la commutazione di stile utilizzando javascript. Per elencare alcuni importanti, sarebbe;
- Script non è necessario
- Cross-browser
Come possiamo fare questo?
Fare qualcosa in IE 5 solo
<!--[if IE 5]> Welcome to Internet Explorer 5. <![endif]-->
Fare qualcosa in tutte le versioni di IE
<!--[if IE]>
<link href="css/ie.css" rel="Stylesheet" type="text/css" />
<![endif]-->
Fare qualcosa in tutte le versioni di IE più recenti che IE 5
<!--[if gte IE 5]>
<script type="text/javascript"><!--
alert("Congratulations! You are running Internet Explorer 5 or greater.");<br />
// --></script>
<![endif]-->
Per ulteriori vartiations condizionali, di leggere queste informazioni su MSDN:
A proposito di commento condizionale
non ci sono commenti | tags: bug di IE , le correzioni di IE e Hacks di IE , i Problemi IE | postato i difetti dei browser , i CSS e HTML , JavasScript
2007 9 settembre 2007
Avete notato qualche volta, come le cose semplici si rifiuta semplicemente di lavorare in IE6 ... location.href è proprio una cosa simile.
Se avete aggiunto una funzione onclick al tag anchor, come qui di seguito ...
<a href="javascript:void(0);" onclick="onClickLink('xxx');"> vai alla nuova posizione </ a>
Con qualche funzione in questo modo ...
Funzione onclickLink (id) {
var uri = "test2.html id =?" + id;
window.location.href = URI;
}
Per la tua ironia, si sarebbe accorto che un tale pezzo di semplice script si rifiuta di lavorare in IE ... Beh! Sono in grado di discutere di ragioni qui, ma non credo che varrà la pena ... Anche se, mi sembrano avere una soluzione ... (scommetto che se si capisce Javascript, vi capisco, perché si aggiunge questo tweak per IE6)
La soluzione
<a href="javascript:void(0);" onclick="onClickLink('xxx'); ritorno false; "> vai alla nuova posizione </ a>
Se ha qualsiasi risposte semplici, si prega di scrivere un commento. Sarà davvero appretiated, ci scommetto, da molti!
non ci sono commenti | tags: Correzioni IE , IE6 | posted in Quirks browser , JavasScript
2007 8 SETTEMBRE 2007
Se avete scritto CSS per po ', si dovrebbe avere esperienza nei momenti in cui è letteralmente tirare i capelli quando i vostri layout CSS guardato bene in tutti i nuovi browser (intendo i browser IE6 più tardi), ma IE 6 genera un capriccio. Si lotta duramente per regolare il CSS, ma non funziona ... Beh! Prova questi hack ...
1. Underscore Hack: -
Per definizione, le specifiche CSS 2.1 consente di sottolineatura ("_") in identificatori CSS. Ma molti browser sembrano ancora ignorare qualsiasi identifica proceduto con una sottolineatura, ma IE. Questo bug di IE / funzione diventa così un modo molto chiaro per impostare le proprietà CSS per IE solo. ricordate, una proprietà CSS scritto con il carattere di sottolineatura sulla partenza è visibile per Internet Explorer (tutte le versioni di IE, ma 7)
#box {
min-height: 300px;
height: auto;
_height: 300px; /* all IE versions less than version 7 */
...
}
Vedi Dimostrazione di questa sottolineatura trucco
Inoltre, il min-height hack per IE6 utilizza la sottolineatura hack, check out
2. Cancelletto (#) Hack: -
Come la sottolineatura hack, questo è troppo è per IE Oly, con una differenza buona, identificatori di proprietà precedute da # sull'inizio è visibile per tutte le versioni di IE, IE7 inclusa ed è invisibile per qualsiasi altro browser standard.
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute; /* For IE only */
#top: 50%; /* For IE only */
#left:50%; /* For IE only */
}
Questo hack è stato usato bene a dimostrare un cross browser allineamento verticale soluzione, dare un'occhiata a questo articolo per trovare il nostro più
3. CSS per IE6 solo: -
#my_bad_behaving_div {
/*something for all browsers*/
}
/* Lets use the * html hack so only IE6 reads the rule */
* html #my_bad_behaving_div{
/*something for IE6 only*/
}
Queste hack sembra mandato dal cielo, quando niente funziona ... Se uno qualsiasi di questi hack salva la tua vita un giorno, non dimenticare di curare me un caffè :)
non ci sono commenti | tags: bug di IE , le correzioni di IE e Hacks di IE , i Problemi IE | postato i difetti dei browser , i CSS , i JavasScript