Как IE7 немного лучше, чем IE6?

Часто в сообществе веб-разработки, Вы слышите, что люди жалуются на разработку для IE6. Однако, если Вы разрабатываете использование устойчивой платформы JavaScript как jQuery, разрабатывает для IE6, несколько отличающегося, чем разработка для IE7?

15
задан Raul Agrait 3 May 2010 в 04:40
поделиться

8 ответов

Добавлю несколько пунктов, которые не были перечислены:

  1. Строгое соблюдение ширины CSS: IE7 в режиме соответствия стандартам сейчас строго интерпретирует width стили в CSS. В IE6, если у вас есть дочерний элемент с шириной, которая больше, чем у родительского элемента, он часто игнорировал объявление ширины родительского элемента и расширялся, чтобы вместить дочерний элемент, часто требуя хаков overflow: hidden, чтобы убедиться, что родительский элемент не расширяется.

    Это в основном хорошо, но, к сожалению, вводит ряд других причуд, например.

    в прокручиваемом DIV с CSS overflow, установленным в overflow: auto или scroll, будет расширять таблицу до ширины прокручиваемого DIV включая ширину вертикальной полосы прокрутки, так что часть таблицы будет отрезана полосой прокрутки справа.

  2. Cleartype с отключенными фильтрами DirectX: IE7 отключает cleartype (сглаживание шрифтов на ЖК-мониторах) для элементов, имеющих фильтры DirectX, такие как альфа-прозрачность и градиенты. В некотором смысле это хорошо, поскольку cleartype делал элементы с фильтрами, особенно жирные, очень размытыми/нечеткими, но это плохо, поскольку теперь на ЖК-мониторах текст выглядит блочным и смещенным.

    IE7, я думаю, также теперь поддерживает alpha: 1.0, а также filter: alpha(opacity=100)

  3. SELECT z-index bug fixed: В IE7 исправлена ошибка, когда элементы SELECT имеют бесконечный z-index и всегда находятся над другими элементами, если вы не поместите IFRAME между SELECT и элементом, который вы хотите отобразить над ним. Это проблема для меню и т.д.

  4. Улучшения псевдоклассов CSS: :hover и некоторые другие подобные состояния CSS теперь поддерживаются вне гиперссылок.

  5. Производительность не обязательно улучшена: IE7 внес много ошибок в свой движок VML, и в IE8 VML теперь в 10 раз медленнее, чем в IE7 в режиме соответствия стандартам, так что это не совсем хорошо. Кроме того, у меня есть тестовые примеры, которые показывают, что поиск offsetLeft и offsetTop в событиях мыши в режиме соответствия стандартам в IE7 также может быть примерно в 10 раз медленнее в моем веб-приложении.

    IE в режиме quirks, хотя производительность для VML и offsetLeft/Top в IE6, 7+8 примерно одинакова. Мой опыт работы в режиме соответствия стандартам в IE7 показывает, что он на самом деле намного медленнее, чем режим соответствия стандартам в IE6, хотя он определенно намного более совместим.

    Я думаю, что это немного обоюдоострый меч, так как производительность JavaScript улучшилась, поэтому такие вещи, как работа с методами массивов и циклами for улучшились, хотя я думаю, что движок рендеринга и многие связанные с ним методы DOM стали намного медленнее в режиме соответствия стандартам в IE7+.

  6. 9
    ответ дан 1 December 2019 в 00:23
    поделиться

    ИМО, между IE6 и IE7 огромная разница.

    • IE7 поддерживает встроенный XMLHTTP, тогда как в IE6 требуется элемент управления ActiveX.
    • IE7 поддерживает несколько дополнительных псевдоклассов.
    • В IE7 исправлены некоторые проблемы с z-порядком и масштабированием.
    • IE7 исправил "несколько" проблем с коробочной моделью.
    • В IE7 добавлена ​​поддержка дочернего селектора >
    • В IE7 добавлена ​​поддержка смежных ( + ) селекторов
    • Поддержка прозрачности PNG
    6
    ответ дан 1 December 2019 в 00:23
    поделиться

    Я думаю, что большинство улучшений IE7 было связано с производительностью (javascript) и попыткой приблизиться к соответствию стандартам CSS.

    Насколько я помню, это были некоторые из основных улучшений:

    • Исправлена ​​ошибка с двойными полями
    • Исправлены многочисленные проблемы с блочной моделью и наследованием позиционирования.
    • Включение панели инструментов разработчика в браузер (не исправление ошибки, но большое для меня)
    • Как отмечали другие, правильная обработка PNG

    Это был намного лучший браузер по сравнению с IE6, если сравнивать его с другими браузерами сегодня, а не так много.

    2
    ответ дан 1 December 2019 в 00:23
    поделиться

    Вряд ли; с точки зрения прироста IE7 в соблюдении стандартов это ничтожно мало. Все версии Internet Explorer до сегодняшнего дня, включая IE8, имеют ужасные перебои в реализации JavaScript, CSS и DOM. Большинство хаков, которые вы используете для IE6, по-прежнему применимы и к более поздним версиям. Тем не менее, с другой стороны, IE9 выглядит неплохо, и был достигнут большой прогресс (я никогда не думал, что на самом деле скажу это).

    Пробелы и различия в реализации между спецификацией и другими браузерами, такими как Firefox и Chrome, намного меньше.

    Я бы порекомендовал статью Марка Уилтон-Джонса о многочисленных недостатках IE для получения дополнительной информации.

    1
    ответ дан 1 December 2019 в 00:23
    поделиться

    Лично в IE6 больше всего раздражает отсутствие PNG прозрачность. Это приводит к необходимости использования AlphaImageLoader для изображений. Последствия этого - вводить свои собственные ошибки / неспособности. Например, прозрачный фон с использованием AlphaImageLoader не может повторяться.

    Также есть ошибки, такие как ошибка двойного поля , отсутствие поддержки min-height и min-width, добавление дополнительных разрывов строк к плавающим элементам, отсутствие селекторов css .

    1
    ответ дан 1 December 2019 в 00:23
    поделиться

    IE7 поддерживает прозрачность png, что очень помогает в поддержании графических ресурсов сайта.

    13
    ответ дан 1 December 2019 в 00:23
    поделиться

    Javascript и CSS фреймворки минимизируют количество повреждений, вызванных IE6, но все еще есть ряд ошибок и несоответствий между IE6 и другими браузерами.

    IE7 лучше IE6, но только чуть-чуть.

    1
    ответ дан 1 December 2019 в 00:23
    поделиться
    • Он может корректно отображать PNG с альфа-каналом.
    • Расчеты для размеров коробки не так уж далеки от стандартов.
    • Рендеринг и производительность JavaScript действительно позволяют делать что-то причудливое, не замораживая время от времени машину пользователя.
    • Были решены некоторые проблемы безопасности.

    По отношению к другим браузерам, он не демонстрирует никаких улучшений, потому что за то же время другие добились гораздо большего прогресса. Это все еще худший из основных браузеров и боль в ж*пе для разработчиков.

    16
    ответ дан 1 December 2019 в 00:23
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: