mercredi 25 février 2009

Technique : une astuce CSS

Depuis que je place mes photos sur Flickr, un bug affectait l'affichage sous Windows / Internet Explorer : les miniatures était systématiquement trop grandes...

En fait, après un peu de recherche Google, il s'avère qu'Internet Explorer ne sait pas gérer les balises CSS2 max-width et max-height ! Il existe alors un contournement via une syntaxe propriétaire IE qui permet d'insérer un morceau de javascript dans la feuille de style.


// standard CSS2 code
max-width: 220px;
max-height: 220px;

// internet explorer hack (ignored by other browsers)
width: expression(
(this.offsetWidth >= this.offsetHeight)
? Math.min(parseInt(this.offsetWidth), 220)
: true);
height: expression(
(this.offsetHeight > this.offsetWidth)
? Math.min(parseInt(this.offsetHeight), 220)
: true);


Fort heureusement, tout cela peut rester assez simple car les autres navigateurs semblent ignorer silencieusement ce code non standard.

Aucun commentaire:

Enregistrer un commentaire