Что касается части HTML / CSS, я обнаружил, что, если вы следуете следующим двум правилам, вещи обычно работают довольно хорошо:
- Пишите совместимый со стандартами семантический HTML.Сначала сосредоточьтесь на семантически правильной структуре документа, а затем используйте CSS, чтобы выложить его так, как вы хотите.Изменяйте HTML-код только в том случае, если вам это абсолютно необходимо.Избегайте шаблонов макетов, которые трудно понять с помощью HTML и CSS, и, если вам нужно, List Apart содержит тонны статей об этих вещах.
- Тестируйте во всех браузерах.Если вы серьезно относитесь к веб-разработке, вам нужно несколько тестовых настроек;по крайней мере, я рекомендую вам подготовить их: Internet Explorer 6, 7 и 9 (это означает, что вы должны использовать виртуальные машины, поскольку невозможно реально смоделировать разные версии IE в одной и той же установке ОС);Firefox 3.6 и 7 (или любой другой текущей версии);самый последний Google Chrome;несколько более старый Chrome или Chromium (я использую хром из Debian);Opera (потому что он не разделяет важные компоненты с любым другим браузером).Если вы можете позволить себе Mac, добавьте в него FF / Mac и Safari.Если вы разрабатываете для мобильных устройств, вам нужно также протестировать их - по крайней мере, Android и iOS.
Если вам нужно поддерживать более старые версии Internet Explorer (7 или, задыхаясь, 6), тогдаусловные комментарии - ваш друг. Моя обычная стратегия - сначала создать дизайн, который будет работать во всех других браузерах, а затем добавить одну или несколько специальных таблиц стилей в условные комментарии (чтобы их загружал только IE), которые «исправляют» вещи для этих комментариев.неработающие браузеры.
Что касается части javascript, то разумная вещь, которую нужно сделать, - это использовать фреймворк, который отполирует различные особенности - jQuery, вероятно, самый популярный на данный момент.