Вся страница уходит влево при вставке PHP-кода? - PullRequest
0 голосов
/ 22 ноября 2010

Существует ли причина, по которой внутренний PHP-код может повлиять на макет страницы? Это происходит только в IE. В Firefox и Chrome все выглядит отлично.

Дело в том, что у нас есть этот HTML-код, затем внутренний код для функций на этой странице вставляется с помощью <?php include "[name of file]";?>. Включенный нами php-файл не имеет никакого стиля, но он загадочным образом заставляет всю страницу перейти к левому краю (а не по центру). Если мы удалим этот файл со страницы, он будет отображаться нормально.

Мы узнали, что если мы закомментируем определенную часть кода в этом файле (см. Ниже), компоновка будет исправлена:

//function position_list() {
    global $db, $core, $global;
    ob_start('ob_gzhandler');
    include ROOT.'templates/listing.php';
    ob_flush();
//}

Мне просто интересно, сталкивался ли кто-нибудь с подобной проблемой? Что может быть не так?

Ответы [ 3 ]

3 голосов
/ 22 ноября 2010

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

2 голосов
/ 22 ноября 2010

Звучит так, будто вы переводите IE в режим причуд. Если вы используете маржу: auto; для элемента IE имеет тенденцию игнорировать его в режиме причуд.

Убедитесь, что тип документа является самым первым в выводимом файле (без разрывов строк, пробелов, комментариев и т. Д.). Также убедитесь, что ваша страница соответствует указанному типу документа.

Если вышеперечисленное не работает, пожалуйста, оставьте больше кода.

2 голосов
/ 22 ноября 2010

Сравните источник в IE со строкой включения и без нее.Это то, что вы ожидаете?Есть ли какие-либо предупреждения PHP?

Довольно странно видеть, что вы закомментировали часть function {} без комментирования тела функции.Теперь вы фактически звоните position_list(); как угодно.Какая из строк вызывает изменение рендеринга?

Если это все до doctyle и тега <html>, то, возможно, вывод выводит браузер на рендеринг в режиме причудчем стандартный режим соответствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...