В настоящее время я разрабатываю веб-сайт, и мне ОЧЕНЬ сложно отобразить его идеально во ВСЕХ браузерах.
Есть ли какие-то правила, предложения и т.д., которым нужно следовать?
Спасибо
Жаль, что веб-сайт одинаково отображается в разных браузерах (по крайней мере, IE и Firefox).






Практически невозможно заставить сайт выглядеть одинаково во всех браузерах и платформах. Причина номер один в том, что шрифты по-разному отображаются в Windows, Mac, Linux, Solaris и т. д.
Мы придерживаемся новой мысли: веб-сайты не обязательно должны выглядеть одинаково в разных браузерах и на разных платформах. Вы можете легко пройти 96-98% пути. Остальное потребует от вас чрезмерных усилий для потенциальной выгоды.
Начинаем разработку под Firefox. Если мы все правильно поняли, остальные браузеры очень близки. В большинстве случаев с IE очень сложно работать правильно. Я рекомендую вам сказать своему клиенту или себе, что IE 6 больше не является обязательным требованием.
Убедитесь, что вы начали с правильной ноги, используя таблицу стилей css «сброса», которая объединяет все выходные данные браузера. Выезд: http://developer.yahoo.com/yui/reset/
Наконец, избавьтесь от некоторых проблем и стандартизируйте библиотеку Javascript, такую как ExtJS, JQuery или Prototype, которая скроет различия браузера и позволит вам сосредоточиться на коде вашего проекта.
Я не согласен. IE 6 по-прежнему является обязательным. Поскольку IE 7 относительно новый по сравнению с 6, немногие крупные корпоративные клиенты имеют новые ПК с Vista или даже XP. Попробуйте сказать компании, которая использует 1500 боксов Win 2000, что IE 6 не является обязательным требованием, и они скажут вам, где находится дверь.
IE6 действительно следует, как это ни печально, в большинстве случаев все же принимать во внимание. (наша жизнь была бы намного проще, если бы все использовали Firefox или Chrome)
IE6 не перестанет быть актуальным, пока MS не прекратит поддержку XP на предприятии. В нынешнем виде это все еще жизненно важный - даже сейчас IE6 занимает большую долю рынка, чем все версии Firefox вместе взятые. Нам это может не нравиться, но мы не можем игнорировать это.
Несомненно, есть предприятия, которые все еще используют 2000. Но есть гораздо больше, чем «несколько» крупных корпораций, которые используют XP. Фактически, из-за истечения срока действия контрактов на поддержку, большинство крупных корпораций будут использовать нет 2000, но XP.
@Ben Blank: IE7 работает на XP ...
«IE 6 больше не является обязательным требованием». Три основных пользовательских агента, которые мы регистрируем, - это XP / IE7 (26%), Vista / IE7 (17%), XP / IE6 (15%) (не считая всех незначительных вариаций IE UA). Наш сайт с IE6 посещает почти столько же людей, сколько IE7 на XP. Так что я бы предположил, что это действительно зависит от вашей аудитории.
Я также получаю 15% IE6 на нетехнических сайтах.
Возможно, вы захотите применить подход к IE6, так как не все включено. Подумайте о концепции прогрессивного улучшения: включайте что-то только в том случае, если браузер поддерживает это. IE6 был бы немного менее функциональным по сравнению с другими браузерами, но не до такой степени, что его нельзя было бы использовать.
@Mike: Да, но XP корабли с IE6. Большинство компаний, в которых я работал (малые и крупные), не хотели продвигать IE7 в качестве обязательного обновления, поэтому, пока они не примут Vista, IE6 будет иметь большую базу пользователей на предприятии.
Чуть больше года спустя: blogs.zdnet.com/Bott/?p=1645 Повторяю, IE6 больше не является обязательным требованием.
Многим разработчикам нравится начинать тестирование с FireFox и переходить на IE7. Таким образом, у них есть оба самых популярных браузера.
Я предпочитаю начинать с IE7, чем переходить к FireFox, потому что в Firefox есть FireBug, который позволяет мне увидеть, что не так, и внести исправления. Но я должен сказать, что я медленно перехожу к тестированию с помощью FireFox fist, поскольку он больше соблюдает все правила. (Кстати, FireBug доступен в Javascript для IE, так что это здорово).
Конечно, вы должны видеть, кто ваша публика. Если он используется внутри компании, и они используют только IE ... выбор прост. Если это больше для разработчика, у вас будет больше пользователей, которые будут использовать FireFox ... вы можете сначала протестировать, в зависимости от вашей аудитории.
Но не пытайтесь сделать так, чтобы он выглядел идеально во всех браузерах, вы зря потратите время. Просто убедитесь, что все в порядке и все действия javascript выполнены правильно.
Проверьте «Панель инструментов разработчика Internet Explorer».
Также помощник по веб-разработке (projects.nikhilk.net/WebDevHelper)
Не пытайтесь сделать так, чтобы каждый браузер отображал его с точностью до пикселя, как и другие ... только вы будете знать! Просто постарайтесь, чтобы он хорошо смотрелся в каждом браузере.
Использование строгого типа документа, правильного xhtml / html и правильного CSS - хорошая отправная точка. Также убедитесь, что вы используете reset / undo.css.
Несмотря на все это, уловы будут, но очень мало.
Вы никогда не достигнете совершенства, иди как можно лучше.
Обычно лучше всего использовать подмножества CSS, которые работают во всех браузеры вместо конкретных браузеров хаки.
Для javascript обязательно используйте фреймворк javascript (JQuery / Опытный образец / Юй / Ext / и т. д.) И использовать его исключительно для дома ссылки / манипуляции. Трудно сделать все правильно, и они уже проделали за вас большую часть работы.
Хорошо справочный сайт
Я бы посоветовал определить вашу целевую аудиторию, а затем определить, какой браузер они используют. Как только вы это сделаете, стремитесь к совершенству в этом браузере. Теперь вы можете немного поработать и улучшить его внешний вид в других браузерах.
Сегодня стремление к совершенству во всех браузерах похоже на просьбу о мире во всем мире.
Другой подход, который вы можете предпринять, - это использовать фреймворк Javascript, например jQuery, чтобы облегчить боль.
Разработайте для Firefox. Затем примените исправления для IE. Надеюсь, он будет нормально отображаться в Chrome и Safari.
Причина в том, что есть исправления, позволяющие заставить IE работать «должным образом», но не так много, чтобы Firefox вел себя плохо.
Да, еще купите копию Превосходя CSS.
Заказал книгу, которую вы предложили прямо сейчас! 10x
+1 для проверки w3c - устранение ошибок проверки может решить множество различий в макете
+1 за валидацию! Это действительно исправляет множество различий. Кроме того, добавляя стили CSS, которые включают «режим» IE hasLayout для элемента во время работы, вам придется искать в Интернете по hasLayout, но такие вещи, как добавление position: relative; к элементу, включают hasLayout.
Мне больше нравится "zoom: 1", потому что он не влияет ни на что, кроме hasLayout.
Я обнаружил, что использование большего количества CSS вместо таблиц позволяет сделать его одинаковым во всех браузерах. Это все еще немного сложно, но логика раскладки стола хуже. Экономно используйте таблицы.
Да, и сделать вещи "эластичными" всегда проблема. Фиксировать ширину / высоту намного проще.
Вот ответ, который я дал некоторое время назад о совершенствовании веб-сайтов в браузерах (от здесь)
Собственно, что вам нужно использовать при разработке веб-приложения:
Я имею в виду, что вам следует тестируйте каждый шаг своего веб-сайта во всех трех основных браузерах Grade-A ... так что, если что-то не работает в процессе, вы будете точно знать, что вызвало сбой.
Если вы не будете регулярно проверять в браузерах, как выглядит ваша страница, впоследствии будет намного сложнее исправить проблемы.
Мой подход заключается в написании кода для Firefox, Opera и других браузеров, отличных от Microsoft. Как только это сработает, я исправляю функциональность IE в отдельном файле стилей / js.
Также я обычно использую JS-библиотеку и CSS-фреймворк. 9 раз из 10 я использую JQuery и YUI Grids.
Проверьте Browsershots. Он делает скриншоты ваших сайтов в различных браузерах, поэтому вы можете проверить это визуально. Это немного медленно, но у меня это сработало.
Отличный совет, помогает ускорить тестирование.
В настоящее время наиболее популярным браузером, который в основном соответствует требованиям, является Firefox, поэтому разработка Firefox - это естественный первый шаг. Используйте валидаторы W3C, чтобы убедиться, что вы на правильном пути. После того, как ваша страница в основном готова, убедитесь, что она по-прежнему хорошо выглядит в Safari и Chrome (также в обоих браузерах с высокой совместимостью, поэтому у вас не должно возникнуть особых проблем), затем начните исправлять ее для IE (оба 6 а также 7). И поверьте, это нужно будет исправить! Такие сайты, как QuirksMode, могут оказаться большим подспорьем, когда придет время добавлять исключения.
Это, вероятно, будет одним из наиболее спорных моментов, поскольку у XHTML есть много сторонников. К сожалению, невозможно обслуживать файлы XHTML способом, который одновременно является IE-совместимым и совместимым со стандартами - IE не распознает типы XHTML MIME и нарушает стандарт, чтобы обслуживать их как text/html. Только HTML 4.01 Strict DOCTYPE переводит все браузеры в (почти) стандартный режим, при этом соблюдая стандарты. Для получения дополнительной информации найдите DOCTYPE переключение. Если вы абсолютно не можете обойтись без написания страниц, которые представляют собой правильно сформированный XML, используйте Преобразование XSL для преобразования ваших страниц из выбранного вами варианта XML в HTML.
Иногда они могут быть очень заманчивыми, но хаки основаны на побочные эффекты ошибок браузера. Из-за этого может быть трудно или невозможно предсказать, как будущие браузеры отреагируют на них. С другой стороны, условные комментарии являются преднамеренной функцией браузеров IE и поэтому безопасны в использовании. Фактически, это отличный способ убрать ваш специфичный для IE (и часто не проверяющий) CSS из допустимых таблиц стилей.
Попытка выровнять все браузеры, до пикселя - это упражнение в разочаровании (и, часто, бесполезное). Попробуйте создать макеты, которые все равно выглядят нормально при затирании, так как легче исправить несоответствие между, скажем, двумя левыми границами, чем левой и правой, которые находятся на противоположных сторонах страницы! Использование фонового изображения со встроенными границами должно быть предупреждением большой!
Не все используют монитор того же размера, что и вы; вместо того, чтобы указывать сноску на font-size: 10px;, установите ее на font-size: smaller; или font-size: 80%;. Это большая проблема доступность.
Вы никогда не знаете, все ли браузеры используют одно и то же значение по умолчанию. Таблица стилей "сброса" YUI - отличное место для начала.
Вы должны иметь в виду, что ASP.NET 2.0 управляет XHTML 1.0, и в MSDN фактически указано, что все, что вы выводите в ASP.NET 2.0, должно быть в XHTML 1.0.
Согласен со всем, кроме HTML4. Но лучше использовать HTML4, чем quirksmode.
Я не могу сказать, что хорошо знаком с ASP.NET - можно ли запустить вывод XHTML через преобразование XSL перед его отправкой в браузер? Я видел преобразование идентичности, используемое для «преобразования» XHTML в HTML… :-)
Сначала я проверяю сайт в FF и т. д., А затем «ремонтирую» сайт, чтобы он выглядел нормально в IE. В большинстве случаев, если код проверен, чистый и простой, IE требует лишь нескольких небольших правок. Я использую разные таблицы стилей для IE, не рекомендую использовать хаки, для javascript используйте только одну библиотеку. И да, браузерные снимки очень помогают.
Что вы имеете в виду под «ремонтом»? Вы рискуете, что веб-сайт будет правильно отображаться в ИК-диапазоне, а не в FF ....
Ну нет. Я изменяю только код, чтобы он правильно отображался в либо IE + FF ++ ... или добавляю новые свойства стиля для IE
Используйте строгий doctype.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Если вы используете ASP.NET, вам следует добавить / изменить этот файл web.config.
<system.web>
<xhtmlConformance mode = "Strict"/>
Вы также должны проверить css-совместимые адаптеры. http://www.asp.net/cssadapters/
Я потратил часы на то, чтобы мой Веб-сайт отображался одинаково во всех браузерах, и, похоже, это сработало. Последнее предложение. Проверяйте часто: не делайте слишком много, прежде чем проверять, чтобы все браузеры отображали его одинаково.
Или XHTML1.1. Немного чище, чем 1.0 strict :)
Я должен это проверить.
Используйте библиотеку JS, например ExtJS. Это абстрагирует специфичные для браузера аспекты стилизации.
Неправильно ли, что в разных браузерах он выглядит по-разному, если он разборчивый и чистый?
Используйте расширение CSSViewer для firefox, это может помочь увидеть некоторые исправления, которые вы можете сделать с кодом, очень удобным для пользователя. Используйте свойства CSS display: block или display: inline-block, они ооочень полезны. Margin, padding, height и width будут вашими друзьями, иногда вам нужно указать эти значения, чтобы увидеть то же самое во многих браузерах. Для шрифтов я бы порекомендовал вам прочитать yahoo yui fonts css.
Хорошо, лучший способ следовать - использовать библиотеки и заранее написанные коды. Например: никогда не используйте JavaScript, вместо этого используйте JQuery, потому что он совместим со всеми браузерами, и вместо написания собственной темы используйте бесплатные темы css.
Что ж, это работает для меня и помогает мне сэкономить массу времени. Потому что на профессиональном рынке время означает деньги.
Спасибо.
На самом деле неуместно говорить что-то «Никогда не используйте javascript». Но вы можете предпочесть использовать библиотеки, подобные JQuery, чтобы избежать проблем с кроссбраузерностью.
IE7 больше не является обязательным требованием. Теперь это ответственность с ее тревожной безопасностью. IE8 должен поддерживать большую часть того, что делают другие браузеры, а то, что нет, не имеет значения. Опыт будет ухудшаться, но если вы в первую очередь используете IE, у вас все равно нет вкуса.
Во-первых, у вас есть ссылка на него? Я уверен, что мы можем исправить это для вас, если это срочно. Во-вторых, какую версию (X) HTML вы используете и пишете ли вы в соответствии со стандартами (проверка)?