Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Глюк с прорисовкой таблиц


Автор: Noml 12.3.2008, 15:23
Проблема

Пишу код PHP. Задача - сделать запросы к БД, сделать нужные вычисления и вывести результаты в виде таблиц (около 30 всего). В коде страницы сначала идут вычисления, результаты заносятся в массивы, и в конце только вывод кода HTML. Тут возникает проблема с прорисовкой в браузере Opera. Таблицы сначала прорисовываются справа экарана, и только потом прорисовываются в центре экрана (там где и нужно), но самая проблема - то что было нарисовано справа экрана - не удаляется. Стоит опиру свернуть-развернуть, или закрыть другим окном потом открыть, то все нормально, лишнии линии и текст стираются, как ластиком. В эксплорере все нормально работает. думаю и с другими браузерами тоже будет все ок. Но что делать чтобы в опере хорошо отображалось? Помогите.

Автор: Feldmarschall 12.3.2008, 15:29
обратиться на форум по HTML, или браузерам, но никак по РНР

Автор: bars80080 12.3.2008, 15:30
ну проблема не в пхп, а в постороении html-кода, вам на форум по вёрстке, и лучше сразу приложите код страницы, которая открывается в браузере (т.е. откройте на этой стронице "просмотр исходного кода" и выложите в тему вопроса)

в принципе, такая проблема может наблюдаться, если у вас идёт перехлёст со стилями, к примеру большой сдвиг абсолютно и относительно позиционируемого блока с таблицами
к примеру 
Код

#block { position: absolute; left: 400px; }

тут надо смотреть, что у вас в css творится

Автор: Noml 12.3.2008, 15:55
Sorry что не в том разделе создал.

Пока ждал ответов пытался что-то натварить. В одном из тегов <table> подписал align="left". Эффект жжет! Пока ниразу не оставил следов. Хотя опера иногда и прорисовывает таблицы справа экрана. Но может есть более радикальные способ?

bars80080
У меня из CSS используется только для тегов <a><body><td> и толкьо для стиля шрифта

Автор: bars80080 12.3.2008, 16:15
тогда тем более код в студию

Автор: Noml 13.3.2008, 17:17
вроде получилось обойти этот глюк
схема примерно такая

Код

<table width=1000>
 <tr>
  <td>
    <table width=500>
     .......................
    </table>
  </td>  
   <td>
    <table width=500>
     .......................
    </table>   
   </td>
 </tr>
</table>


Как я теперь предполагаю - опера, когда читает первый тег <td> - она делает его ширину 1000, как указана для таблицы. Но далее идет второй тег <td> и прорисовка идет правее "1000" (как сама опера изначально предполжила, что там было 1000), прорисовывает все. и только потом, по окончанию всего возвращает нарисованное на нужное место. И иногда не удаляет при этом ненужное.

К этому выводу я пришел после того, как код:
Код

<table width=1000>
 <tr>
  <td width=500>
    <table width=500>
     .......................
    </table>
  </td>  
   <td width=500>
    <table width=500>
     .......................
    </table>   
   </td>
 </tr>
</table>


заработал. Прорисовка теперь проходит всегда в нужном месте с самого начала.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)