2013-02-19 2 views
0
<!--[if lt IE 7]> <html class="ie ie6 lte9 lte8 lte7"> <![endif]--> 
<!--[if IE 7]>  <html class="ie ie7 lte9 lte8 lte7"> <![endif]--> 
<!--[if IE 8]>  <html class="ie ie8 lte9 lte8"> <![endif]--> 
<!--[if IE 9]>  <html class="ie ie9 lte9"> <![endif]--> 
<!--[if gt IE 9]> <html> <![endif]--> 
<!--[if !IE]><!--> <html>    <!--<![endif]--> 

Вышеприведенный код, похоже, не работает. Единственная версия IE, которую мой сайт (The Randy), похоже, работает в IE9. Я думал, что он работает из-за условных утверждений, которые я вводил выше, но он работает в IE9 без этих утверждений. Если я посмотрю на него в IE8 и IE7, я получаю разбитый веб-сайт. Любая помощь будет оценена по достоинству.Если IE Заявления не работают

+0

У вас есть какой-либо селектор CSS, начинающийся с '.ie9'? Я не мог найти. Эти условные классы являются первым шагом для IE «совместимости» (резервные инструкции и простая отладка), они сами ничего не сделают. – FelipeAls

ответ

4

Условные комментарии не поддерживаются в IE 10, и это плохая идея, тем более, что стандарты установлены.

Вы должны ВСЕГДА использовать обнаружение функций вместо обнаружения браузера.


EDIT: Чтение консоли тоже помогает:

HTML1513: Экстра "<html>" Найден тег. Для каждого документа должен существовать только один тег «<html>».
therandy.tk, строка 9 символ 20

HTML1503: Неожиданный стартовый тег.
therandy.tk, строка 12 символов 1

HTML1512: Непревзойденный конечный тег.
therandy.tk, line 245 символов 208

HTML1514: Дополнительный признак «<body>». Для каждого документа должен существовать только один тег «<body>».
therandy.tk, line 247 character 1

HTML1519: Недопустимое гнездование. Тег «<a>» не следует размещать в другом «<a>».
therandy.tk, строка 364 символ 97

+0

Хорошо, спасибо. Я попробую это. – DieVers

+2

Я не вижу, как полагаться на JS-скрипт может быть лучше, чем условные комментарии/классы для обходных решений CSS, таких как 'display: inline-block' или' table-cell' для IE7-? – FelipeAls

+0

Я здесь очень смущен! Когда я вношу изменения в правую картину ячейки (eva longoria pic), она работает и отображает эти изменения. Но когда я вношу изменения, это не сработает. – DieVers

2

В вашей разметке у вас есть тег <script> перед тем, как откроется тег <html>. Это недопустимый код, и IE, вероятно, не нравится. Переместите это <script> так, чтобы оно было в вашем документе <head>.

+0

Я думаю, что начало скриптового тега генерируется Tumblr. – DieVers

+0

Педантично, на самом деле это не разметка '