Я создал веб-страницу (http://www.snow4life.yum.pl), который правильно отрисовывался в firefox, chrome и т. д. Конечно, глупый IE усложняет вещи, потому что он автоматически входит в режим причуды, даже если doctype установлен правильно и сайт проходит через проверка w3 (есть одна ошибка: не хватает некоторых символов, но файл был очищен в шестнадцатеричном редакторе). Как я могу остановить т.е. от входа в режим причуд? Там в любом случае ?
Что переводит Internet Explorer в режим причуд?
Ответы (4)
Попробуйте убрать все пробелы перед DOCTYPE.
РЕДАКТИРОВАТЬ: в начале файла есть символ <feff>
, который является подписью Unicode BOM. Поскольку у вас может не быть текстового редактора, способного увидеть это, попробуйте удалить всю первую строку и вставить ее с помощью
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
И НЕ сохраняйте файл с юникодной подписью BOM. Если это не сработает, попробуйте вообще другой текстовый редактор.
Вставьте приведенный ниже код в тег head
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
Режим Quirks в любой версии IE также будет запущен, если что-либо предшествует DOCTYPE. Например, если гипертекстовый документ содержит комментарий, пробел или любой тег перед объявлением DOCTYPE, IE будет использовать специальный режим:
<!-- This comment will put IE 6, 7, 8, and 9 in quirks mode -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Я добавил тип документа из первого комментария, а затем метатег, и это сработало, спасибо, ребята .... и не благодаря IE :(
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
и
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
Я только что изменил тип документа на html5, и он все еще отлично работает.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">