2010-07-28 3 views
0

Итак, у меня есть следующий код, который открывает в всплывающем окне (размер регулируется до 120px шириной и 300px высотой через Javascript):Firefox вопрос: 100% ширина тела застрял на 190px при изменении размера

<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> 

Я знаю, что изображение не совсем то, что вы бы назвали «табличными данными», и что есть CSS повсюду. Истина в этом; эта разметка не лучшие друзья с моделью коробки, и я не могу ее изменить, я должен найти ошибку, которую я собираюсь описать.

Только на Firefox (различные версии и plattforms) - и по некоторым причинам не всегда (я еще не нашел шаблон) - изображение не отображается полностью. Окно становится измененным до нужного размера, но похоже, что тело/таблица на 100% сокращается до 190 пикселей и останавливается там, с этого момента только с уменьшением видимости уменьшается, но тело остается на 190 пикселей. Поскольку изображение центрировано, это приводит к отображению границы 35 пикселей на левой стороне - и изображение для перекрытия области просмотра (поэтому не отображается полностью).

Странно то, что я получил доступ к той же самой странице с тем же браузером/ОС без изменений вчера и смог воспроизвести ошибку (также после перезагрузки, перезагрузки и т. Д.) И больше не может, поскольку не тело сжимайте до 120px просто отлично. Я не могу найти шаблон здесь.

Любые предложения или идеи приветствуются!

Большое спасибо за вашу помощь заранее
Tobi

ответ

0

Я знаю, что вы сказали, что разметка вне вашего контроля, но вам нужен стол на всех? Если всплывающее окно такого же размера, как и изображение, почему бы просто не получить изображение?

Если я помню 90-ый HTML, TopMargin и LEFTMARGIN является IE конкретными, поэтому вам может понадобиться ваше тело тег, чтобы быть:

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

удалить ширина 100%, если вы можете. А еще лучше, удалить все атрибуты тегов тела и сделать все это с помощью CSS (который будет работать гораздо более надежно):

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

, если он по-прежнему не работает, там должно быть что-то еще на странице вызывает вопрос.

+0

Спасибо за это, Тим. Как сказал, я не могу изменить его на данный момент, но мне сначала нужно объяснить, почему Firefox делает это именно так. Причина для таблицы - я думаю, состоит в том, что изображение сосредоточено в обоих направлениях, даже если вы измените размер окна. Ну, это также будет легко сделать с CSS ... mhh. Ну, в любом случае, если кто-то испытал или знает причину этой спорадической ширины 190 пикселей, сообщите мне, я ценю любую помощь. :) – 2010-07-29 05:54:59

+0

Я думаю, что лучший способ выяснить причину проблемы - попытаться ее исправить. Поэтому я предлагаю сохранить копию всплывающей HTML-страницы на ваш локальный компьютер, чтобы вы могли ее изменить, а затем посмотреть, что нужно, чтобы заставить ее работать правильно. –