2009-09-19 7 views
0

j'ai une classe que nous appellerons cellule,IE 6 Bug: float: none -> Les frontières disparaissent

.cms-block .cell{ width:520px; float:left;} 
.cms-block.wide .cell{width: auto; float:none} 

dans IE 6, les éléments enfants de .cms-block.wide .Cellule perdent leurs frontières/couleurs d'arrière-plan. si j'enlève le flotteur: aucun; les frontières sont là. mais ... la cellule flotte à gauche. argh. J'ai regardé autour et j'ai trouvé beaucoup de pages décrivant des bugs peek-a-boo. mais à ce problème spécifique je ne pouvais pas trouver de réponse jusqu'à présent.

paix

m

Répondre

2

lui donnent la mise en page?

.cms-block.wide .cell {zoom: 1; }

+0

+1. Théoriquement, cela ne devrait pas résoudre le problème, mais HasLayout est la source d'une grande quantité de magie noire dans le moteur IE6, et j'ai l'intuition que cela peut aider. –

+0

Il n'y a rien de logique à propos de Trident: p –

+0

Cela ne fonctionne pas lorsque vous voulez faire un affichage: inline ... – Paul

0

IE6 est extrêmement bogué et non conforme aux normes. Cela fait presque 3 ans qu'IE7 est sorti. Donc, il ne devrait plus y avoir d'installation IE6, mais malheureusement, il y en a.

Mais l'approche que je prendrais si j'étais vous est d'obtenir l'acceeptance de ne pas soutenir IE6. Je travaille sur un projet web greenfield, et nous avons délibérément décidé de ne pas soutenir IE6.

+0

Hey, je déteste IE6 passionnément comme tout autre développeur web respecté. Cependant, vivant en Chine, XP est le meilleur OS, les gens ne sont pas aussi avertis et préoccupés par les «standards» etc. Le fait demeure, IE 6 est le navigateur par défaut, les gens ne s'améliorent pas (la plupart des sites pour IE) et ne vois pas de raison aussi. Et le client ne veut pas faire une campagne expliquant à ses clients comment mettre à niveau/changer. Voilà donc la courte histoire de pourquoi je dois soutenir IE6 – Moak

+0

Vous avez ma sympathie alors;) – Pete

1

Votre problème est probablement lié au fait que vous sélectionnez plusieurs classes avec votre sélecteur .cms-block.wide, mais IE6 ne le supporte pas. Un rapide Google apparaît this page, ce qui peut vous être utile.

+0

Il doit supporter plusieurs classes sinon la largeur de la cellule serait toujours 520px; non? – Moak

+0

Il prend en charge plusieurs classes, mais pas les sélecteurs à plusieurs classes. Donc IE6 interprète vos règles '.cms-block', mais considère vos règles' .cms-block.wide' comme si elles étaient déclarées avec juste '.wide' pour le sélecteur. Voir le lien que j'ai donné, il ajoute plus d'informations. –

+0

Je vois ce que vous voulez dire, merci pour le conseil, à la fin, le zoom est ce qui a fonctionné, le déclenchement de hasLayout, la magie noire en effet. – Moak