Стратегия исправления ошибок макета в IE6?

В целом, как лучше всего исправить ошибку макета в IE6? Каковы наиболее распространенные ошибки или проблемы, на которые следует обратить внимание, пытаясь выяснить, почему ваша страница внезапно выглядит так, как будто ее закодировала обезьяна?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
7
0
1 207
12

Ответы 12

Коробочная модель обычно является виновником. В основном это означает, что любой div, который вы пытаетесь разместить и использовать неподдерживаемый CSS, вызовет эту проблему.

Вы можете обнаружить, что это происходит, если вы используете min- {width, height} или max- {width, height}.

это отличный справочник для проверки совместимости с разными версиями.

http://www.aptana.com/reference/html/api/CSS.index.html

Коробочная модель вряд ли когда-либо виновата. По какой-то причине люди ухватились за фразу «коробочная модель» и используют ее как волшебный талисман, чтобы объяснить все, что не так с Internet Explorer. нет означает «неподдерживаемый CSS в div». Основные проблемы вызваны ошибками, см. Ответ Ядына.

Jim 17.09.2008 18:44

Джим, это действительно коробочная модель. Возможно, вам не нравится это слово, но это лучшее слово, используемое для описания проблем. Как еще вы это называете, когда IE 6 обрабатывает общий размер окна иначе, чем другие браузеры?

Nick Berardi 18.09.2008 17:23

Также очень трудно сказать, что это ошибка, ошибка означает, что что-то было неправильно закодировано, я не верю, что это так, Microsoft очень последовательна в сохранении своего макета, «блочной модели».

Nick Berardi 18.09.2008 17:26

http://www.positioniseverything.net/ обязательно решит вашу проблему.

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

Также приятно, что обсуждаются не только ошибки IE, но и ошибки, обнаруженные в Opera и других браузерах.

petr k. 17.09.2008 18:43

Хороший способ начать изучение того, как IE искажает страницу, - это включить красные границы на разных элементах с помощью CSS (border: 1px solid red;). Это сразу скажет вам, проблема ли это маржи или проблема заполнения, насколько широк элемент В самом деле и т. д.

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

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

Beska 13.02.2009 19:48

Да, Беска, вы, конечно, правы, я больше говорил о том, что это все еще то, о чем нужно помнить при исследовании подобных ошибок.

Simon Keep 21.10.2010 13:32

как вы определяете ошибку макета? Самая разочаровывающая реализация макета (я не знаю, следует ли это определять как ошибку) в IE - нам нужно всегда указывать style = "display: inline" в теге HTML <form>, чтобы пустая строка не мешала макету формы.

Первые дела в первую очередь

Купите себе Панель инструментов разработчика Internet Explorer. Это спасатель жизни и отлично работает с IE6 и / или IE7. Это не замена панели инструментов веб-разработчика или Firebug для Firefox, но лучше, чем ничего.

Знай своего врага

Прочтите об особенностях IE, особенно о hasLayout, переполнение и т.п. Также есть много тонкостей CSS, которые вам нужно будет либо делай без, либо найти альтернативы. Посмотрите, сколько популярных JavaScript наборы инструментов / рамки / библиотеки обходят разные вопросы.

Рим строили не за один день

Чем больше вам придется с ним работать, тем больше вы запомните, и вам не придется так часто искать. В этом нет замены опыту. Однако, как отметили некоторые, в сети есть отличные ресурсы. Позиция - это все определенно там.

Я считаю, что этот вопрос имеет слишком большой объем.

Подтвердите свой код, и, если боль не исчезнет, ​​удачи.

Единственные реальные решения, как и в случае с любыми другими приблизительными ошибками, - это поиск решения в Google или вопрос у кого-нибудь, кто знает (то есть: сообщить нам точную проблему здесь, в stackoverflow).

Вы можете использовать панель инструментов IE Dev, чтобы почерпнуть идею, но многие ошибки являются случайными, необъяснимыми и эзотерическими. IE: ошибка гильотины, ошибка случайного дублирования элементов и т. д., Список можно продолжать, и вы можете часами буквально валять дурака с глупыми переменными везде и ничего не добиться.

Теоретически используйте CSS, совместимый с ошибками макета IE6, используйте только хорошо известные обходные пути (фильтры css и html) и кодируйте их таким образом, чтобы не нарушать совместимость вперед, проверьте наличие причуд / строгий режим.

На самом деле прибегают к таблицам.

У меня есть простая стратегия, которая работает каждый раз.

Во-первых, я разрабатываю сайт с использованием общепринятого CSS, чтобы он хорошо выглядел в Safari и Firefox 3. См. w3schools.com для получения подробной информации о поддержке браузером.

Затем я перехожу в IE6 и IE7 и изменяю CSS с помощью условно включает.

Это не требует взлома и позволяет работать с разными браузерами (IE6 и IE7 имеют отдельные проблемы).

Большинство проблем, которые вы обнаружите, возникают из-за неподдерживаемых функций в IE (например, min-width), ошибок в блочной модели (IE добавляет невидимые дополнительные отступы (3 пикселя) в некоторые поля) или проблем с позиционированием. Выбирайте их первыми, поскольку они часто являются проблемой.

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

Я использую Селектор браузера Рафеля Лимы, когда мне нужно настроить различия между браузерами IE / Standards. Это значительно сокращает количество "хаков" в вашем HTML для решения типичных проблем.

Вы можете настроить таргетинг операторов CSS для разных браузеров или даже для разных версий браузеров (Hello IE 6). Это очень просто реализовать, но требует, чтобы у пользователя был включен JavaScript (в большинстве случаев).

.вещь { ....}

.ie .thing {....}

.ie6 .thing {....}

Заметил, что пост Марка находится на -2 = D. Он всего лишь говорит «прибегать к таблицам», даже если они взрываются, потому что в отстойных браузерах, таких как IE6, некоторые из неработающих команд CSS работают только в таблицах (кто знает, почему ... черт возьми, Билл Гейтс !!!). Вот хороший справочник, чтобы узнать, что работает, а что не работает в отношении CSS. http://www.quirksmode.org/css/contents.html. Это отличный справочник, чтобы узнать, какие классные эффекты работают / не работают в различных широко используемых браузерах. Кроме того, всегда имейте план действий для пользователей, которые используют IE6 (даже если он почти такой же старый, как механическая грязь), поскольку многие компании по-прежнему используют старые браузеры (включая некоммерческие организации / страны третьего мира и т. д.). , создайте выпадающее меню с ошибками, которое выглядит НАМНОГО лучше, чем стандартное горизонтальное меню, но создайте дополнительное меню специально для IE6, которое становится по умолчанию, когда страница получает запрос от браузера IE6.

Другие вопросы по теме