Некоторое время назад я столкнулся с «проблемой», с которой я так и не дошел до сути. Надеюсь, кто-нибудь может пролить свет на это. Что заставляет определенные браузеры (Chrome, Opera и Safari) отображать страницу по-разному, когда я изменяю DOCTYPE со строгого на переходный. Я знаю, что общей причиной этого является запуск режима "причуд", но XHTML и CSS для обоих файлов проверяются в соответствии с валидатором w3c.
Я могу только предположить, что эти браузеры используют разные внутренние таблицы стилей для двух DOCTYPE, но не имеют реального представления, почему они это делают. Я просто надеялся, что кто-нибудь сможет подтвердить, почему это происходит.
Разница, которую можно увидеть, - это расстояние между нижней частью «заголовка изображения» и границей строки меню. В вышеупомянутых браузерах нет разрыва между ними при использовании переходного DOCTYPE, но есть при использовании строгого (в IE и FF разрыв присутствует в обоих). В конце концов я понял, что добавление display:block
к тегу img останавливает пробел, появляющийся во всех случаях (что и было моей целью).
переходный пример ,
строгий пример