10
votes

Firefox 4 et disposition de table: fixe

J'ai un problème qui semble avoir été introduit entre Firefox 3 et 4. Essentiellement, il s'agit de faire avec Table-mise en page: fixe .

J'ai une table défilable qui utilise deux divs, un pour l'en-tête et un pour le corps (malheureusement c'est la seule option qui a fonctionné pour moi).

La table du corps ressemble à ceci (notez que tout est généré avec JavaScript, cela fait partie d'un GWT. application): xxx

(à la manière, la page est déclarée en tant que HTML 4.01 Transitional)

Il semble que dans Firefox 3, les largeurs de colonne sont être respecté. Cependant, dans Firefox 4, il semble ignorer les largeurs de colonne une partie de l'heure (difficile à broder exactement, mais généralement lorsque la table commence à devenir suffisamment petite pour que Firefox soit redimensionnement). Si j'inspecte les largeurs de colonne dans Firefox, ils ont généralement peu de relation avec les largeurs telles que spécifiées dans le HTML.

Je me demande simplement si quelqu'un peut faire la lumière pour laquelle cela pourrait se passer?


7 commentaires

Je ne vois rien de manifestement faux ici, mais il est difficile de tester avec juste ce code Snippit, surtout si votre demande le génère de manière dynamique. Toute chance que vous puissiez nous donner suffisamment de code que nous pouvons reproduire l'erreur? Ensuite, je peux prendre un coup de poignard pour la fixer.


Remarque: l'attribut de largeur des éléments du col est Imprété de HTML5 - C'est probablement la raison pour laquelle FF4 (par opposition à la FF3) n'aime pas ça ...


Peut-être que les cellules de la table ont un contenu plus large que les largeurs définies?


N'y a-t-il pas un moyen que le code que vous utilisez générerait un attribut de style avec la valeur " largeur: 61px; " au lieu de l'attribut de largeur?


Il semble que FF ait fait une exception sur le rôle des cols et des colgroups dans le cas d'une table de mise en page fixe: bugzilla.mozilla.org/show_bug.cgi?id=666493 (cette question de très stackoverflow est référencée dans le rapport de bogue!)


@skybondsor: Ce rapport de bogue de Bugzilla discute de la définition de la largeur de la balise (code> Tags, donc il ne s'applique pas dans ce cas.


Si vous pouvez produire un petit témoignage montrant le bogue en action, nous pouvons très certainement vous aider à comprendre votre chemin. Pouvez-vous en faire un?


3 Réponses :


-3
votes

Vous aurez peut-être besoin de PX après le numéro de FF 4. Testez ceci:

    <col width="61px" />
    <col width="57px" />


1 commentaires

Malheureusement, cela ne semble pas résoudre le problème :(



-1
votes

Pourquoi n'utilisez-vous pas ceci:

<col style="width:61px;" />
<col style="width:57px;" />


0 commentaires

1
votes

La première chose à faire est de vous assurer que votre balisage valide. Vous utilisez "/>" Shorttag style, qui n'est pas valide dans HTML 4.01 (ces fermetures ne sont valables que dans XHTML).

Je ne sais pas si la courtetag inattendue forcera le navigateur dans "Mode Quiks" (Vérifier les informations de la page ... l'a-t-elle?)? Le mode bizarre est la mort pour dépannage.

Si votre Firefox a l'extension de développeur Web installé, j'inspecterais la table et tout l'intérieur ... Cela pourrait être quelque chose qui pousse les murs de la colonne.

Je ne peux pas prendre d'autres suppositions au problème. Pas assez de données. Il serait utile que vous enregistrez le code HTML complet à partir du navigateur (puis éliminer soigneusement des bits inutiles ou confidentiels), puis vérifiez que le problème se produit toujours dans le cas d'utilisation plus simple. Si tel est le cas, postez-le que l'étui d'utilisation sur le Web quelque part et que les gens puissent l'inspecter.

Autre que les étiquettes courtes, vous n'avez pas révélé que vous faites quelque chose de mal. Mais comme je l'ai suggéré, il y a probablement quelque chose qui se passe à l'intérieur du corps de la table ...


0 commentaires