Не усложняйте.
Чем проще ваша разметка, CSS и JavaScript, тем легче будет отследить несовместимости. Постарайтесь ограничить себя CSS1 настолько, насколько это возможно. Используйте более современные функции CSS2 / 3 только тогда, когда нет более простого способа выполнить вашу задачу.
Не используйте таблицы, они просто добавляют дополнительную сложность. Использование семантической разметки не только обеспечивает удобство сопровождения, но и дает вам лучшую поддержку кросс-браузеров, если все сделано правильно.
Имейте в виду, что поплавки являются злом, но также очень сильны. Используйте их щедро, но избегайте попыток очистить поплавки. Вместо этого используйте переполнение .
Использовать инфраструктуру JavaScript. Разработчики фреймворка сгладили большинство кросс-браузерных ошибок для вас. Я рекомендую jQuery, но вы можете выбрать любой фреймворк, с которым ваши разработчики чувствуют себя комфортно. Мой совет:
- Использование инфраструктуры JavaScript, которая не изменяет прототипы собственных объектов (как это делает Prototype JS)
- Не вводит много глобальных переменных. Большинство фреймворков следуют этому правилу.
Помимо этих двух правил для JavaScript, попробуйте использовать замыкания для инкапсуляции кода, чтобы не вводить собственные глобальные переменные.