2013-07-09 1 views
0

Моя страница отлично работает во всех браузерах, кроме IE 7. В IE7 divs полностью выходят за их место. Я подозреваю, что это связано с использованием position:fixed. Я попробовал использовать надлежащее doctype, как и многие другие, и это все равно не помогает. Также IE7 говорит о его рендеринге в стандартном режиме, поэтому я не знаю, в чем проблема. Вот jsfiddle ссылка: http://jsfiddle.net/FgXS4/Макет полностью испорчен в IE 7

+0

jsfiddle не работает в IE7 – mishik

+0

r u давая плавать в этом div? –

+0

@mishik - редактирование jsfiddle UI не работает в IE7, но выходная страница делает; попробуйте http://jsfiddle.net/FgXS4/embedded/result/ – Spudley

ответ

2

IE7 знает серьезные проблемы с position:fixed.

Если вам нужно поддерживать IE7, лучшим вариантом было бы просто забыть о фиксированной позиции для этого браузера и позволить элементу прокручиваться вместе с остальной частью страницы. Напишите пользовательскую таблицу стилей, которая запускается только для IE7, которая переопределяет стандартный CSS, и позволяет пользователям IE7 слегка ухудшить работу в браузере. Это мой совет для вашего наилучшего варианта.

Есть хаки вокруг, которые пытаются решить эту проблему, в частности , которая реализует весь груз пластырей в старые версии IE, чтобы попытаться получить их в соответствие с современными стандартами. Это отличный маленький скрипт. Он не может делать все, и это, конечно, не волшебным образом превращает IE7 в IE9, но может помочь в этой проблеме (я знаю, что в нем есть исправления, которые специально касаются ошибок IE7 position:fixed), поэтому может стоить это идет.

Ваш другой вариант, конечно же, заключается в том, чтобы остановить поддержку IE7. Честно говоря, это может быть хорошим ответом. Количество людей, использующих IE7, очень быстро падает (быстрее, чем IE6); показатели использования для него чрезвычайно низки и снижаются каждый месяц. Вы могли бы найти много работы, чтобы исправить это, а затем практически никто не выиграл от этого. Вы могли бы сэкономить много времени, если полностью отказаться от поддержки IE7. Если вам повезет, возможно, никто не заметит. (и даже если они заметят, возможно, это даст им толчок, что им нужно обновить свой браузер!)

+0

Если бы это было до меня, я бы определенно прекратил поддерживать IE. Я имею в виду, что это имеет смысл. У вас есть худший продукт, поэтому вы получаете более низкий опыт. Не мои проблемы. Хотя из-за некоторых политик компании, я должен пойти с этим. Попробуйте IE9.js, о котором вы упомянули. – Aneesh

+1

@ user2067771 - достаточно справедливо, если вы не можете повлиять на политику компании. Но стоит отметить, что политика компании должна измениться в какой-то момент (иначе вы все равно будете поддерживать IE5!). Учитывая, что использование IE7 ниже IE6 во многих странах, возможно, настало время для обновления политики. Если у вас есть какое-то влияние в этом случае, пришло время его использовать. Взгляните [статистика здесь] (http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201106-201306); этого должно быть достаточно, чтобы убедить кого-либо в том, что IE7 больше не стоит этого, учитывая объем дополнительной работы, которую он создает. – Spudley

+0

Спасибо. Хотя в настоящее время я не говорю о политике компании, вы убедили меня прекратить любую небольшую поддержку, которую я предлагал IE7 на своих личных веб-сайтах. – Aneesh

 Смежные вопросы

  • Нет связанных вопросов^_^