У меня должны быть ошибки с плавающей запятой и маржой ...
Если вы разместите элемент с плавающей запятой, а затем укажете для него поле, он удвоит размер поля.
Чтобы решить эту проблему, добавьте к элементу display: inline. Это остановит двойное поле, и все другие браузеры проигнорируют его, потому что могут быть перемещены только объекты уровня блока.






Хотел бы я знать, что я буду часами пытаться исправить ошибку в IE 6 снова и снова в течение многих лет, и я действительно был бы счастливее, доставляя пиццу.
Я не знаю, но должен быть коллективный иск.
Представьте, какой будет жизнь, когда IE8 выйдет, и он будет соответствовать стандартам, как они утверждают. Добавьте несколько лет, и IE6 мощь практически исчезнет. IE7 - это немного легче для разработки, в любом случае с CSS.
@alex: Следующая Windows Mobile будет включать движок IE 6. Так много, что это скоро уйдет.
Кроме того, честно говоря, в то время как IE 8 исправляет множество очевидных проблем с CSS, они мало что делают для исправления DOM, Крис Уилсон в значительной степени это признал: ajaxian.com/archives/ie-8-and-the-user-features#comment-2663 39
@eyelidlessness: Ты серьезно? Какая это будет заноза в заднице. Что не так с DOM IE8? Проблема с кешированием javascript?
Почти все, что не так с DOM IE 7, и все, что не так с DOM IE 6. Это огромная часть спецификации, включая все, от неправильной реализации Range до полного отсутствия событий Mutation и полностью сломанной самой системы событий.
Ах. Может ли jQuery абстрагироваться от этого? Я влюбился в этот фреймворк, хотя чувствую, что не должен на него полагаться.
jQuery не касается диапазона и не может (без больших накладных расходов или необходимости использовать только методы манипуляции с DOM jQuery) имитировать события мутации; он абстрагирует модель событий, но по-прежнему не поддерживает захват событий. Есть и другие проблемы, но на самом деле это были мои самые большие головные боли.
Что же значат эти недостатки IE для меня как разработчика? Извините, я не так хорошо разбираюсь в Javascript. Кажется, ты разбираешься в своем деле!
О, я забыл об этом. По крайней мере, в IE 7 Trident не поддерживает свою внутреннюю структуру DOM в виде дерева, а это означает, что вы можете фактически получить ерунду, например, один узел DOM, охватывающий два соседних родительских узла. Вы можете подумать, что innerHTML - единственный способ сделать это, но это может случиться и с MSHTML.
Проблемы с диапазоном делают работу с выделенным текстом (особенно с богатым текстом) чрезвычайно болезненной. Отсутствие событий мутации означает, что опрос на предмет изменений DOM стоит дорого, хотя браузер должен делать это внутренне и может раскрыть его. Последствия модели событий не так велики, но могут вызвать проблемы.
(Это не соответствовало последнему комментарию.) По сути, это действительно затрудняет использование Интернета в качестве серьезной прикладной платформы.
Я вижу сейчас. Если бы это было сделано внутренне, я бы предположил, что не будет слишком сложно предоставить события для Javascript, чтобы подключиться к ним? Я предполагаю, что это делают Gecko / Webkit / Presto? Почему злоумышленник не может просто предоставить принудительное обновление Firefox 3: P
Судя по всему, нет никаких мошенников из MS, только XUL. Подождите, это неправильная строка. Я спросил Криса Уилсона (думаю, в ссылке, которую я разместил выше), почему они просто не встраивают Webkit в стандартном режиме, и он сообщил мне, что это нарушит ActiveX (продолжение) ...
Поэтому я спросил, почему бы не включить ActiveX в качестве плагина для браузера, и все остались довольны? "ActiveX не может быть выполнен другим плагином" Орли? Затем, через несколько недель, Google выпускает бета-версию Chrome, которая выполняет именно это.
И чтобы ответить на ваш вопрос, Gecko 1.9 (FF3) и, по крайней мере, текущий выпуск Webkit поддерживают (большинство) этих событий. Престо - нет. Но дело в том, что движок должен внутренне обрабатывает события, как указано, или перекомпоновка / перерисовка с манипуляциями CSS / DOM никогда не сработает.
ха-ха. Похоже на Microsoft! У меня не было никаких проблем, пока я не стал веб-разработчиком в Microsoft. Ну что ж. Кто знает, что они могут реализовать в последнюю минуту.
Чтобы было ясно, Крис Уилсон, о котором я упоминал ранее, который в значительной степени признал, что DOM получает вал в IE 8, является «архитектором платформы группы разработчиков платформы Internet Explorer в Microsoft» (со страницы «О проекте»).
Они должны сделать то, что сделал Google ... выбросить Trident и включить Gecko и, как вы сказали, использовать подключаемый модуль ActiveX. И они могут сделать свой дурацкий маленький графический интерфейс. И все были бы счастливы :)
Извините, это должен был быть Webkit. Но Gecko будет работать так же хорошо.
Webkit определенно лучше подходит для их целей. Но можете ли вы представить, что Microsoft использует проект Apple с открытым исходным кодом в своем самом популярном программном обеспечении?
Ха-ха. Ну, это было изначально от Konquerer, не так ли? Может быть, они смогут захватить его на этапе Konquerer и как-то обновить его, не превращая его в следующий Trident. Они включили jQuery в свой следующий .NET, не так ли? Я думаю, они начинают чувствовать запах кофе.
Чтобы было ясно, KHTML был заменен на Webkit в Konquerer.
Я думаю, они сочтут использование Webkit неприятным. «Привет, ПК, что это за новый браузер ты используешь?» Но мне бы очень понравилось видеть, как они используют Gecko. И им не пришлось бы терять столько лица.
О, давайте проясним. Команда IE гораздо больше враждебна Mozilla, чем Microsoft к Apple. Я уверен, что Apple скорее объявит о таком сотрудничестве как о партнерстве, чем как о бесполезном приеме. Я уверен, вы слышали, что Баллмер упомянул, что Webkit может появиться в будущем IE?
Я слышал это на конференции в Австралии. Но вы действительно думаете, что они это сделают? Apple и Microsoft хорошо играют? возможно ... кстати, я доставил пиццу, и это было почти так же напряженно, как css для IE6 (почти!)
Прозрачный PNG должен был поддерживаться ...
И взлом javascript / propriety очень уродлив ... Почему они не могут хотя бы добавить обновление в пакет обновления для поддержки альфа-каналов 24-битного PNG.
Тем не менее, поддерживаются одноцветные прозрачные png. Я использовал это для веб-сайта с большим количеством 4-битных изображений и одноцветной прозрачностью, поскольку они обычно были меньше, чем их аналог в формате gif.
Да, но альфа-прозрачность намного круче !!! Одноцветные (я австралиец: P) прозрачные пленки в PNG такие же, как и в формате GIF, не так ли?
Возможно, элементы SELECT не отображаются с правильным z-порядком.
Например, если у вас есть плавающий DIV с более высоким z-порядком, наложенный поверх элемента select, элемент SELECT все равно будет отображаться поверх DIV.
Бесить.
Я думаю, единственный способ исправить это с помощью IFRAME? фу! IE6 должен просто нарисовать этот контроль формы прямо над всем
Я написал код, который установит стиль для отображения: none для выбранных элементов, расположенных под плавающим div. Что-то вроде взлома, и вы можете увидеть, как он исчезает, когда он покрывается лишь частично. Но намного лучше, чем выбор, скрывающий ваши плавающие меню.
Это не проблема IE6, это проблема нескольких браузеров. вам просто нужно указать его в сбросе или по умолчанию
http://www.pushuptheweb.com/ или один из многих других сайтов, стремящихся отказаться от поддержки IE6. Я знаю, что правильная визуализация веб-страниц для посетителей IE6 является основой многих веб-предприятий, но рано или поздно что-то должно дать. Я просто не понимаю, почему MS не принудительно обновляет>. <
Номер один: hasLayout Если бы я знал об этом с самого начала, большинство моих опасений было бы решено. Я даже считаю это более серьезной проблемой, чем тупая коробочная модель IE6.
Хотел бы я знать о quirksmode.org. Таблицы совместимости, отчеты об ошибках, примеры javascript - все это очень полезно.
ссылка ведет на quirksmode.org, но в тексте написано quriksmode.org.
@Ray: это точно ошибка IE.
@eyelidlessness, я называю это ИК-ошибкой
Хотел бы я знать о
После того, как я узнал об этих вещах, я действительно не тратил много времени на устранение проблем в IE6.
.Hauge
Вам не нужны «заголовки xhtml» (IE не поддерживает XHTML совсем). Стандартный режим запускается некоторыми DOCTYPE, включая HTML4 Strict DOCTYPE. Убедитесь, что DOCTYPE, который вы используете, имеет URL.
Хотел бы я знать о Позиция - это все, но именно ошибка пикабу всегда меня привлекал.
Запрещено У вас нет разрешения на доступ к / explorer / на этом сервере.
Думаю, это ссылка, которую вы хотели: positioniseverything.net/explorer.html
Хотел бы я знать, что мой код не прошел проверку. Или что объявление XML в XHTML переводит IE в режим причуд.
Что если вы действительно анальный и тратите на это дерьмо кучу времени, это окупается, и тогда вы становитесь гуру IE, не боясь ничего, кроме того грустного себя, которым вы стали ...
Хотя приятно удивлять людей своими удивительными способностями исправлять ошибки IE ...
К сожалению, и я обучаю небольшую команду из 6 разработчиков, опыт - это единственное, что действительно помогает в решении этих проблем. Сохраняйте спокойствие, хорошо исследуйте Google и опубликуйте свою проблему в сообществе, если вы действительно застряли в хорошем. демонстрация проблемы.
Хорошие ссылки>
Удачи!
Использование overflow: hidden для очистки числа с плавающей запятой удобно, но не во всех ситуациях. Иногда вам нужно что-то (скажем, изображение или наведение курсора), чтобы «вылиться» из div, в котором оно находится, но overflow: hidden будет обрезать его.
Не программируйте сначала для IE6. Это путь к безумию.
Аминь. Я разрабатываю все в основном с использованием Firefox 3 (и IE7 с использованием IE Tab) в качестве испытательного стенда, а затем, когда все работает и хорошо выглядит, я начинаю пытаться заставить его выглядеть так же в IE6 (и, в меньшей степени, FF2), не нарушая Это. Делать это по-другому - отстой.
Я согласен, Firefox кажется лучшим выбором для разработчиков. Разработайте для Firefox 3, а затем сделайте его совместимым с другими браузерами. Кажется, это лучший способ сохранить рассудок.
Вы можете добавить туда Webkit (Chrome или Safari) и Opera для тестирования. Стоя на высокой лошади «FireFox - стандарт WC3» может привести к довольно болезненному падению. FireFox имеет много ошибок рендеринга CSS, особенно в отношении элементов управления пользовательского интерфейса (например, 'input type = button' игнорирует блочную модель WC3, что может вызвать проблемы с выравниванием с другими элементами управления при просмотре в браузерах, совместимых со стандартами). В настоящее время ни один браузер не работает полностью так, как диктует стандарт WC3 (не заставляйте меня начинать с забоя Opera атрибутов печати CSS2), и я сомневаюсь, что они когда-либо будут.
Я полностью согласен. Реальный вывод: не просто кодируйте, используя 1 браузер. Любой браузер (но особенно IE). Вы должны переключаться и постепенно тестировать все.
Основная проблема, с которой мы столкнулись, - это планирование достаточного времени для «исправления в IE6». Это, а также склонность дизайнеров придумывать вещи, которые легко сделать во Flash и сложно реализовать в CSS, стоили нам многих дней дополнительной работы.
Что даже со всеми хаками в мире PNG, если вы используете PNG в качестве фона в своих div (чтобы сделать, например, панель с закругленными границами), вы попадаете в мир боли. (Ссылки и другие элементы не доступны для кликов, происходит сбой IE6 в более ранних версиях библиотеки png dll и т. д.)
В итоге: не используйте PNG с прозрачным фоном, если хотите, чтобы он работал в IE6.
в дополнение к другим спискам ошибок IE, которые Росс и Локе дали выше (gtalbot.com, какой красивый сайт!
http://css-discuss.incutio.com/?page=InternetExplorerWinBugs
http://webbugtrack.blogspot.com/search/label/IE7
http://www.enhanceie.com/ie/bugs.asp
http://channel9.msdn.com/wiki/internetexplorerprogrammingbugs/ (как и gtalbot, прокрутка этого
и, привет, IE 8 beta 2
http://css-class.com/test/bugs/ie/ie-bugs.htm
наконец, кукла вуду IE!
Важность DOCTYPES в IE и
Хотел бы я знать, почему Microsoft так меня ненавидит.
Если бы IE6 был человеком - он получил бы от меня очень-очень медленную, унизительную и мучительную смерть. Я бы наслаждался каждой секундой.
Хотел бы я знать, что многие номера строк ошибок IE 6 отличаются на единицу.
трюк с подчеркиванием
если вы поместите _ перед атрибутом css, он будет прочитан только ie6.
т.е. _border: 1px solid # 000000; создает границу только в ie6
Хотел бы я знать, что Internet Explorer - новый Netscape Navigator 4.7.x
Итак, мы продвинулись от «сбоев при одном взгляде на CSS или любой другой стандарт WC3» к «Отображает содержимое CSS, за исключением тех случаев, когда это не так, и добавляет дополнительное пространство в любом месте»?
Причуда рендеринга, которая приводит к появлению небольшого пробела под изображением в ячейке таблицы, если между концом тега img и закрывающим тегом td есть пробелы.
Это правильно:
<td><img src = "myimage.jpg"></td>
Это неправильно:
<td>
<img src = "myimage.jpg">
</td>
какое лучшее решение для этого?
hasLayout и это отличное объяснение: http://www.satzansatz.de/cssd/onhavinglayout.html
У меня появилась новая жизнь, когда я обернулся вокруг нее! Обеспечение того, чтобы содержащий элемент hasLayout решал подавляющее большинство моих проблем.
jQuery !! Написание CSS для IE достаточно плохо, поэтому я рад, что мне больше не приходится беспокоиться о JS.
Хотел бы я знать об инструментах разработки, таких как Firebug Lite и HttpWatch, которые значительно упрощают отладку.
* {маржа: 0; отступ: 0; граница: нет}
клянусь богом, эта строчка все изменила. presto! все одного размера! А потом я нырнул в кроличью нору, в которой ты меня сейчас найдешь. чудесный.
ха-ха. Что ж, каждый раз, когда это происходит, это происходит только один раз. Многие веб-разработчики являются постоянным указателем ошибок IE6. Интересно, сколько денег было потеряно веб-компаниями, пытающимися исправить проблемы в IE6.