Каковы лучшие практики для кросс-браузерных веб-сайтов? [закрыто]

(Мне бы хотелось, чтобы это была окончательная вики сообщества. Я добавил это из своего собственного ответа наэтот вопрос.)

Specify Everything

Многие межбраузерные проблемы сводятся к этому: вы что-то не указали, а разные браузеры делают разные предположения. Следовательно:

Declare a valid doctype

Ваш тип документа сообщает браузеру, какие правила вы будете использовать в своем коде. Если вы не укажете, браузер должен угадывать, а разные браузеры будут угадывать по-разному.

По моему опыту, "строгий" doctype заставляет IE вести себя лучше (включает такие вещи, как CSS: наведите курсор на div в IE7).

Эта статья дает хорошее представление о типах документов.

Use Web standards

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

Validate your HTML and CSS

Вам не нужно делать все идеально, но проверка - это хорошая обратная связь. КакДжефф сказал:

Knowing the rules and boundaries helps you define what you're doing, and gives you legitimate ammunition for agreeing or disagreeing. You can make an informed choice, instead of a random "I just do this and it works" one.

Представьте, что вы открыли тег абзаца и никогда не закрывали его. Если затем вы открываете тег списка, вы имели в виду, что он находится внутри абзаца или нет? Проверка поможет вам поймать это, закрыть тег и устранить неоднозначность.

Consider a CSS Reset

Различные браузеры предполагают разные базовые правила CSS. Вы можете помочь им всем действовать одинаково, явно сгладив различия. Эрик Мейер, который написалCSS: полное руководство, используетэтот сброс, Еще один популярный выборYUI Сброс CSS.

Use a Javascript library for DOM interactions

Всякий раз, когда вашему Javascript необходимо работать с элементами на вашей странице, лучше всего использовать такие библиотеки, как jQuery, Prototype или MooTools. Эти библиотеки используются многими тысячами разработчиков, и они принимают большинство несоответствий между браузерами & apos; интерпретации Javascript, разберитесь с ними внутри и предоставьте вам последовательный набор команд, которые просто работают. Попытка найти и обойти все эти несоответствия самостоятельно - пустая трата времени и может привести к ошибкам.

Test in multiple browsers, deal with IE last

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

Quirksmode.com это хорошее место для поиска случайных отличий браузера.

Browsershots.org может помочь показать, как ваша страница будет отображаться в ассортименте браузеров и операционных систем.

Fail Gracefully

Ни один сайт не будет выглядеть идеально в каждом существующем браузере. Если у пользователя нет Flash, Javascript или расширенного CSS и т. Д., Вы все равно хотите, чтобы ваш сайт работал. Дизайн с учетом этого:

Check the bare HTML

Попробуйте загрузить ваш сайт с чистым HTML - без стилей, без скриптов. Доступны ли пункты меню? Первичный контент предшествует вторичному контенту? Можно ли использовать сайт, даже если он уродлив?

Consider test-driven progressive enhancement

Описано вЭта статьяэтот метод использует javascript, чтобы проверить, имеет ли браузер заданную возможность, такую как поддержка заданного свойства CSS, перед использованием его на странице. В отличие от браузера нюхает, потому что он проверяет функции, а не конкретного браузера.

Ответы на вопрос(7)

Ваш ответ на вопрос