Следующий HTML-код отлично работает в FireFox или IE7 / 8 (с тегом стиля или без него)
<!-- Deliberately no DocType to induce Quirks Mode -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
Input.quirks
{
margin: 1px 0px 1px 0px;
border: solid black 1px;
}
</style>
</head>
<body>
Should work in Quirks Mode <br />
<input class="quirks" type="text" style="width: 300px;" /><br />
<input class="quirks" type="text" style="width: 147px;" /><img src="./Graphics/SpacerPixel.gif" border="0" /><input class="quirks" type="text" maxlength="25" style="width: 150px;" /><br />
<input class="quirks" type="text" style="width: 94px;" /><img src="./Graphics/SpacerPixel.gif" border="0" /><input class="quirks" type="text" style="width: 100px;" /><img src="./Graphics/SpacerPixel.gif" border="0" /><input class="quirks" type="text" value="DA8 1DE" style="width: 100px;" />
</body>
</html>
Однако мне говорят, что отсутствие DocType в верхней части HTML приводит к тому, что оба браузера работают в режиме «Quirks».
Мне сказали, что это плохо.
Я пробовал несколько типов DocType, но не нашел комбинации DocType / HTML, которая обеспечивает правильное отображение в обоих браузерах.
Все, кроме режима «Причуд», заставляет браузеры по-разному реагировать на попытку установить ширину текстового поля. Похоже, что это приводит к тому, что я могу исправить свои инструкции для FF или IE, и внезапно другой сбой.
Некоторая деталь ...
1.> Целью здесь является то, что 3 строки должны выглядеть одинаково по ширине точно при визуализации в каждом браузере. Не обязательно, чтобы отображаемые ширины были одинаковыми во всех браузерах, просто они выглядят правильно выровненными / выровненными внутри каждого браузера.
2.> Упомянутое изображение является разделительным изображением шириной 3 пикселя и высотой 1 (альтернатива этому также была бы хороша)
3.> Я не хочу вводить таблицы, если это вообще возможно.
Кажется, что режим Quirks является единственным режимом, совместимым во всех браузерах. Однако меня беспокоит, что в финальной версии IE8 или даже в каком-нибудь будущем браузере режим причуд не будет использоваться по умолчанию.
Что мне делать? Как указать DocType (и, возможно, изменить мой HTML), который создаст согласованный вид в разных браузерах?