2008 08 de xaneiro de 2008

Comentarios condicionais: Para a súa IES Duex Only-Parte

Poucos meses antes vimos, como poderiamos incluír unha peza de CSS que sería visible para o IE6 só ( Para a súa IES Só ). Hai outras formas de conseguir isto tamén. Só ten que incluír un CSS separado, específico para o seu IE obxectivo. isto podería ser conseguir co que se denomina comentarios condicionais.

Comentarios condicionais é un xeito de detectar o tipo de navegador e versión. Detección do navegador se realiza para garantir que o contido presentado ao específica navegador. Detección do navegador pode ser feito empregando diversas técnicas. Este método ten varias vantaxes sobre os métodos anteriores, que incluíu cambio de estilo usando javascript. Para listar algúns importante, sería;

  • Script non é necesaria
  • Cross-browser

Como facemos iso?

Fai algo no IE 5 só
<!--[if IE 5]> Welcome to Internet Explorer 5. <![endif]-->

Fai algo en todas as versións de IE
<!--[if IE]>
<link href="css/ie.css" rel="Stylesheet" type="text/css" />
<![endif]-->

Fai algo en todas as versións de IE máis recentes que o IE 5
<!--[if gte IE 5]>
<script type="text/javascript"><!--
alert("Congratulations! You are running Internet Explorer 5 or greater.");<br />
// --></script>
<![endif]-->

Para máis vartiations condicionais, lea esta información no MSDN:
Sobre o comentario condicional


2007 9 de setembro de 2007

IE 6 Problemas location.href

Xa reparou, ás veces, cousas simples como só se rexeita a traballar no IE6 ... location.href é só unha cousa desas.

Se engadiu unha función onclick á súa marca de referencia como a continuación ...

<a href="javascript:void(0);" onclick="onClickLink('xxx');"> ir a nova situación </ a>

Con algunha función como esta ...
función onclickLink (id) {
var URI = "test2.html id =?" + id;
window.location.href = URI;
}

Para a súa ironía, vai notar que tal unha peza de script simple se rexeita a traballar no IE ... Ben! Podo discutir as razóns aquí, pero non creo que vai valer a pena ... Aínda que eu non parecen ter unha solución ... (eu aposto que se entender Javascript, vai entender, por que engadir este tweak para o IE6)

A solución

<a href="javascript:void(0);" onclick="onClickLink('xxx'); retorno false; "> ir a nova situación </ a>

Se algunha respostas simples, fai escribir un comentario. Realmente vai ser appretiated, eu aposto que, por moitos!


2007 8 de setembro de 2007

Para a súa IES Só

Se ten sido escrito CSS polo de agora, que tería que probar eses momentos nos que literalmente tirar o seu cabelo cando os seus esquemas CSS parecía ben en todos os novos navegadores (navegadores quero dicir máis tarde que o IE6), pero o IE 6 xoga unha birra. Vostede loitar duro para axustar o seu CSS, pero non funciona ... Ben! Probe estes cortes ...

1. Subliñado Hack: -
Por definición, especificación CSS 2.1 permite subliñado ("_") en identificadores CSS. Pero moitos navegadores aínda parecen ignorar calquera identifica procedeuse cun subliñado, pero o IE. Este erro do IE / recurso tórnase así unha forma moi clara para definir propiedades CSS para IES só. entón lembre, unha propiedade CSS escrito co subliñado no inicio é visible para Internet Explorer (todas as versións de IE, pero 7)

#box {
min-height: 300px;
height: auto;
_height: 300px; /* all IE versions less than version 7 */
...
}

Ver demostración deste subliñado corte

Ademais, o hack min-height para IE6 usa o hack guión baixo, confía


2. Corte sostido (#): -
Como o subliñado hack, este é tamén é IES oly, cunha diferenza boa, identificadores de propiedade precedido por # a principios é visible para todas as versións do IE, IE7 incluído e é invisible para calquera outro navegador por defecto.

.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute; /* For IE only */
#top: 50%; /* For IE only */
#left:50%; /* For IE only */
}

Este hack foi usado moi ben para demostrar un navegador cruz liña vertical solución, bótalle un ollo neste artigo para atopar o noso máis


3. CSS para o IE6 só: -
#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*/
}

Estes hacks pareza o paraíso, cando nada máis funciona ... Se calquera destes hacks salva a súa vida, un día, non se esqueza de me tratar a un café :)


NDK casa | Expresando IT | Palate expresando | Penmenship expresando | AWE expresando | expresar o meu