2010-07-28 16 views
0

Ok, donc, je le balisage suivant qui s'ouvre dans une fenêtre pop-up (la taille est ajustée à la largeur 120px et 300px hauteur via Javascript):question Firefox: 100% largeur du corps coincé à 190px lors du redimensionnement

<body bgcolor="#000" topmargin="0" leftmargin="0" style="width:100%"> 
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%"> 
    <tr> 
     <td align="center" height="300" valign="middle"> 
      <img src="sample.jpg" width="120" height="300"> 
     </td> 
    </tr> 
</table> 
</body> 

Je sais que l'image n'est pas exactement ce que vous appelez des "données tabulaires" et qu'il y a des CSS partout. La vérité de la question est; ce balisage est pas meilleurs amis avec le modèle de boîte et il est hors de ma portée pour le changer, je suis juste censé trouver l'erreur que je suis sur le point de décrire.

Uniquement sur Firefox (différentes versions et plates-formes) - et pour certaines raisons pas toujours (je n'ai pas encore trouvé de modèle) - l'image n'est pas affichée en entier. La fenêtre est redimensionnée à la taille correcte, mais il semble que le corps/table de 100% ne rétrécit à 190px et s'arrête là, à partir de ce point seulement la fenêtre rétrécit, mais le corps reste à 190px. Comme l'image est centrée, une bordure de 35 pixels apparaît sur le côté gauche et l'image chevauche la fenêtre d'affichage (elle n'est donc pas affichée en entier). La chose étrange est que j'ai accédé exactement à la même page avec exactement le même navigateur/OS sans modifications hier et pourrait reproduire l'erreur (également après recharges, redémarrages etc.) et ne peux plus, parce que pas le corps fait rétrécir à 120px juste très bien. Je ne peux pas trouver le motif ici.

Toutes les suggestions ou idées sont grandement appréciées!

Merci beaucoup pour votre aide à l'avance
Tobi

Répondre

0

Je sais que vous avez dit le balisage est hors de votre contrôle, mais avez-vous besoin de la table du tout? Si le popup est de la même taille que l'image pourquoi ne pas avoir l'image?

Si je me souviens de mon 90s HTML, topmargin et leftmargin sont IE spécifiques, de sorte que vous ayez besoin de votre balise body être:

<body bgcolor="#000" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> 

enlever la largeur de 100% si vous le pouvez. Mieux encore, supprimer tous les attributs de la balise du corps et tout faire avec CSS (qui fonctionnera beaucoup plus fiable):

<style type="text/css"> 
body { 
    background-color: #000; 
    margin: 0; 
    padding: 0; 
} 
</style> 

si elle ne fonctionne pas, il faut encore autre chose sur la page l'origine du problème.

+0

Merci pour cela, Tim. Comme dit, je ne peux pas le changer à ce stade, mais je dois d'abord expliquer pourquoi Firefox le rend ainsi. La raison de la table - je pense - est que l'image est centrée dans les deux directions, même si vous redimensionnez la fenêtre. Eh bien, ce serait aussi facile à faire avec CSS ... mhh. Eh bien, de toute façon, si quelqu'un a connu ou connaît la raison de cette largeur sporadique 190px, faites le moi savoir - j'apprécie toute aide. :) –

+0

Je pense que la meilleure façon pour vous de comprendre la cause du problème serait d'essayer de le réparer. Je suggère donc d'enregistrer une copie de la page HTML contextuelle sur votre machine locale afin de pouvoir la modifier, puis voir ce qu'il faut faire pour que cela fonctionne correctement. –