Pull to refresh

Comments 38

имхо не использовать quirks mode
в этом режиме этот код совсем по другому отображается чем в нормальных браузерах
только лишних проблем себе доставите используя этот режим. с доктайпом можно верстать без всяких проблем, зная «особенности» ие, и методы их решения. а в quirks mode будет отображаться как в ие5. оно вам надо ??
С радостью бы отказался, но это необходимое условие. Основной макет достаточно сложный и добиться всей нужной функциональности и «укрощения» ie удалось именно в quirks mode для него. Остальные браузеры работают в strict-e
лично для меня намного проще было бы верстать с доктайпом. и чем сложней макет, тем нужнее доктайп. ну это только для меня. вы может лучше научились укрощать ие quirks mode… всякое бывает )
Тот макет, с которым я работаю, с доктайпом без проблем верстать можно было бы, если бы ie понимал некоторые современные css-свойства вроде border-box.
Сами понимаете, от специфики конкретной ситуации сильно зависит. В моей конкретно ситуации невозможность использования border-box ведет ко значительному увеличению количества лишних структурных элементов, появлению моря оформительских div-ов
Каким бы сложным не был макет, всегда можно добиться нужного результата в ИЕ6/7 (и в вёрстке, и в JS-функционале) в strict-е. Утверждаю это как веб-разработчик с 3ёх-летним стажем.
Так что ваша единственная проблема — quirks mode.
Мой стаж существенно больше вашего, и тем не менее могу сказать, что это далеко не всегда так категорично, как вы утверждаете. При тех ограничениях, которые я себе ставлю (безтабличная верстка, без применения js, масштабируемый размер шрифта, разные разрешения экрана, одинаковость отображения в браузерах). При упрощениях, конечно, да.
Речь идет не об обычном макете сайта, а сложном интерфейсе декстопного приложения, который сделан на html+css. Помимо сложности структуры есть еще ряд требований по отделяемости, независимости и переносимости кусков, из взаимосвязи и т.д.

Еще

Я прекрасно понимаю, что quirks — это плохо.
Но еще хуже слепо следовать правилам или догмам вроде «верстайте все и всегда в strict и будет счастье». Для меня главное — это решить поставленную задачу наиболее эффективным способом. Немного нижу я написал, почему именно quirks для ie — в противном случае общая задача, которая стоит передо мной, решается не эффективно.
Ваш трехлетний опыт, видимо, пока еще не дал возможности осознать, что html и css — это не только верстка макетов страничек для интернета, где всегда просто взять и изменить. У нас вот, например, на этих технологиях строится интерфейс настольного приложения — сложного комплекного продукта, где все завязано одно на другое. И из-за мелкой проблемы нельзя вносить столь радикальные изменения, как переключение режима рендеринга.

С дикарями надо разговаривать на их языке — другой они не поймут. С глючным ie6 приходится работать соответственно

Возвращаясь к сути топика — вопрос был не про выбор режима рендеринга, а про специфический баг в выбранном режиме и можно ли с этим что-то сделать.
«У нас вот, например, на этих технологиях строится интерфейс настольного приложения — сложного комплекного продукта, где все завязано одно на другое.»

В разработке настолько сложных систем поучавствовать не довелось (в основном занимался веб-сайтами различной сложности), поэтому возможно вы и правы насчёт использования quirks mode.

Что же касается конкретно вашего случая, то могу порекомендовать для ИЕ (через хаки или условные комментарии) прописать для .wrapper input в стилях height: 1%. Вроде бы с инпутом проблема решается. На счёт текстарии никаких мыслей пока нет.
Спасибо за совет по существу. К сожалению, нет, не помогло.

Чтобы баг воспроизводился необходимо, чтобы кодировка html файла соответствовала тому, что указано у него в head. Я тестировал в utf-8 и windows-1251 — одинаково.
Да, и ещё проблема решается, если вместо «padding-right: 30px;» у блока ".wrapper" использовать «margin-right: 30px» у текстарии и инпута.
Обходной путь, ведущий к сильному раздвоению css-стилей: для всех браузеров и для ie… Хотя это всяко лучше, чем ничего вообще
Спасибо за идею
UFO just landed and posted this here
UFO just landed and posted this here
И самое интересное-то =) У кого-нибудь есть мысли, почему именно кириллица вызывает такую реакцию?
Это решает эту проблему.
Точно говорю — нет :) Это немного из другой области
Покажите макет, сохраните его в гиф с 32 цветами и покажите.
Скриншот макетов приведен выше. Я добавил подписи и красные стрелочки, но в остальном это реальные скриншоты
UFO just landed and posted this here
UFO just landed and posted this here
Да, совет хороший :)
Но я же не от хорошей жизни так делаю :)
Специфика дизайна такова, что для верстки требуется повсеместное использование конструкций стопроцентной ширины или высоты с отступами. В режиме соответствия стандартам, насколько я знаю, это делается двумя способами:
а) через два дива, одному отступы, второму ширину
на сложном макете дивов получается столько, что это приводит к тормозам при отрисовке страницы в браузере.
И не кошерно это — вводить лишние структурные элементы из-за чисто оформительских требований. И есть еще одна проблема, связанная с этим, но это уже слишком глубоко копать надо
б) с использованием css свойства border-box. IE это свойство благополучно не знает, так что поэтому для него и выбран режим quirks, в котором он рассчитывает ширину так же, как нормальные браузеры при использовании border-box
Со всеми вытекающими негативными последствиями этого режима. Собственно, одно из странных проявлений я и описал в топике, надеясь, что кто-то сталкивался с подобным и может посоветовать что-то кроме «делайте в strict — и будет вам счастье»
UFO just landed and posted this here
конечно, у верстальщиков труд титанический…

а если этот блок заверстать таблицей?
Ирония? :)
Таблицей нельзя. Не из-за того, что я такой упертый принципиальный осел, начитавшийся, что «div-ы это круто».
Первоначально дествительно все было на таблицах, и проблем было значительно меньше, кроме ключевой — тормозило это дело страшно. Вложенность получалась такая, в ie страница загружалась 6-7 секунд. Это на локальной машине, без скриптов. Контент не будет показан, пока не будет загружена вся таблица целиком. Таблица не верхнем уровне иерархии в сложном макете вызывала недопустимую медлительность отрисовки.
Поэтому все (без фанатизма) переделывается на divах
Этот пример — типичная конструкция, которую в жизни приходится многократно вкладывать друг в друга. Обвешанную дополнительными стилями, во взаимодействии с соседями… Конкретно эту форму можно сделать таблицей, но это не решит общую проблему
UFO just landed and posted this here
приятно общаться с адекватным человеком :-)
по окончанию, киньте в личку адрес проекта, хочется посмотреть на этого монстра :-)
стрикт надо использовать для того, чтобы не бодаться с глюками, которые уже давным давно пофиксили.
strict не заставит ie понимать css-свойства, которых он не знает
зато заставит понимать те, которые знает, правильно
Одного этого, к сожалению, недостаточно — выше я описал почему
… но не показал макет…
например если у инпута задан правый и левый отступ по 2px, бордер 1px то можно написать так
input { margin-left:-6px; width:100% }
.wrapper { padding-left:6px; }
это поможет обойти использование box-sizing и боже упаси quirks mode.
Sign up to leave a comment.

Articles