2008 8 gener 2008

Comentaris condicionals: Per a la seva EI-Només la part Duex

Uns mesos abans vam veure, la manera com podria incloure un tros de CSS que seria visible a IE6 només ( Per a la seva IE només ). Hi ha altres formes d'aconseguir això. Només ha d'incloure una separada de CSS, específica de la vostra IE de destinació. això es podria aconseguir amb el que es diu com els comentaris condicionals.

Comentaris condicionals és una manera de detectar el tipus de navegador i versió. La detecció del navegador es realitza per assegurar que el contingut que es presenta a l'específica del navegador. La detecció del navegador es pot fer ús de moltes tècniques diferents. Aquest mètode té diversos avantatges sobre els mètodes anteriors, que van incloure el canvi d'estil usant javascript. Per obtenir una llista important d'uns pocs, seria;

  • Seqüències de comandaments no cal
  • Cross-browser

Com fem això?

És alguna cosa IE 5 només
<!--[if IE 5]> Welcome to Internet Explorer 5. <![endif]-->

És alguna cosa en totes les versions de l'IE
<!--[if IE]>
<link href="css/ie.css" rel="Stylesheet" type="text/css" />
<![endif]-->

És alguna cosa en totes les versions de l'IE del nou IE 5
<!--[if gte IE 5]>
<script type="text/javascript"><!--
alert("Congratulations! You are running Internet Explorer 5 or greater.");<br />
// --></script>
<![endif]-->

Per a més vartiations condicionals, llegeixi aquesta informació en MSDN:
Sobre comentari condicional


2007 9 setembre 2007

IE 6 Problemes location.href

Heu notat a vegades, les coses simples només es nega a treballar en IE6 ... location.href és només una cosa.

Si heu afegit una funció onclick a la seva etiqueta d'àncora, com a continuació ...

<a href="javascript:void(0);" onclick="onClickLink('xxx');"> anar a la nova ubicació </ a>

Amb una funció com aquesta ...
funció de onclickLink (id) {
var URI = "test2.html id =?" + id;
window.location.href = URI;
}

A la seva ironia, s'adonaria que aquest tros de script senzill es nega a treballar en l'IE ... Bé! Puc parlar de les raons aquí, però no crec que valgui la pena ... Encara que, em sembla que té una solució ... (Aposto a que si vostè entén Javascript, vostè comprendrà, de manera que afegir el procediment per IE6)

La solució

<a href="javascript:void(0);" onclick="onClickLink('xxx'); retorn false; "> anar a la nova ubicació </ a>

Si vostès, les respostes simples, si us plau, escriure un comentari. Realment es appretiated, aposto a que, per molts!


2007 8 setembre 2007

Per a la seva IE només

Si vostè ha estat escrivint CSS per un temps, vostè hauria d'experimentar aquests moments en què, literalment, tirar del seu cabell quan els seus dissenys CSS es veia bé en tots els nous navegadors (em refereixo als navegadors molt tard el IE6), però l'IE 6 té una rebequeria. Vostè lluitar dur per ajustar el CSS, però no funciona ... Bé! Proveu aquests trucs ...

1. Destacar Hack: -
Per definició, l'especificació de CSS 2.1 permet subratllat ("_") en els identificadors de CSS. No obstant això, molts navegadors encara semblen ignorar qualsevol identifica procedir amb un guió baix, però l'IE. Aquest error de l'IE / funció es converteix així en una forma molt clara per establir les propietats CSS de l'IE només. per tal de recordar, una propietat CSS per escrit amb el guió en el començament és visible per a Internet Explorer (totes les versions de l'IE, però 7)

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

Veure demostració d'aquest guió truc

A més, el hack min-height per IE6 utilitza el truc de subratllat, fes una ullada a


2. Coixinet (#) Hack: -
Igual que el guió truc, aquest és també és per IE Oly, amb una bona diferència, els identificadors de propietat que comencen amb un # al començament és visible per a totes les versions de l'IE, IE7 inclòs i és invisible per a qualsevol navegador estàndard d'un altre.

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

Aquest truc s'ha fet servir molt bé per demostrar un navegador transversal vertical alinear solució, fer una ullada a aquest article per esbrinar més


3. CSS per IE6 nomé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*/
}

Aquests hacks sembla enviat del cel, quan només funciona ... Si algun d'aquests trucs et salva la vida algun dia, no s'oblidi de que em tractin a un cafè :)


NDK a casa | Expressant IT | Boca Expressant | Penmenship Expressant | Awe Expressant | expressar-me