модифицируя CSS для поддержки конкретного обозревателя никогда не ошибается - до тех пор, как вы можете легко содержать его.Как вы заметили, совместимые со стандартами браузеры, * cough * все кроме MSIE, никогда не будет ломаться с будущими выпусками. Новые стандарты W3C также не нарушают прежние стандарты, они обычно не рекомендуют придерживаться прежних стандартов и не расширяют их.
Люди упомянули условные комментарии, которые подходят для обработки IE. Но вам понадобится немного больше для обработки всех браузеров (мобильных, gecko, webkit, opera и т. Д.). Обычно вы обрабатываете входящие заголовки запросов, чтобы выбрать тип и версию браузера из параметра User-Agent. Исходя из этого, вы можете начать загрузку файлов CSS.
Я верю, как большинство из нас делает это по:
- Первой разработки для одного обозревателя, отвечающий стандартам (давайте FF, например)
- После CSS завершения вы приближаетесь providig поддержки IE (это можно легко сделать с помощью условных комментариев, так как perviously упоминается)
- Сначала нужно создать CSS файл, который будет точной настройки все для IE6 и любую другую версию ниже
- Затем создайте CSS-файл, который будет обрабатывать все для IE7
- Наконец, создайте CSS файл, который будет обрабатывать все для IE версии IE8 и выше
- Когда IE9 выходит, убедитесь, что вы установили IE8 + обработку для IE8 конкретных и создать + CSS файл IE9 с необходимыми исправлениями
- Наконец, создать дополнительный файл CSS для Webkit исправлений
- при необходимости, вы можете также создать дополнительные фи ле специально предназначаться Chrome или Safari, если требуется
Что касается браузера реализации конкретных CSS, я обычно группы все из тех, кто в моем главном файле CSS (вы можете легко сделать поиск для тех, и заменить их в одном документе если нужно). Поэтому, если что-то должно быть прозрачным, я бы установил как непрозрачность, так и фильтры (MSIE) в том же блоке. Браузеры просто игнорируют реализации, которые они не поддерживают, поэтому ваш сейф. Конкретные реализации, которые я бы хотел избежать, - это пользовательские реализации (эй, мне нравится поле -moz над W3C, но я просто не хочу полагаться на него).
Как и в случае наследования и переопределения CSS, вам не нужно переопределять все объявления и определения CSS в каждом файле CSS. Каждый последовательный загруженный файл CSS должен только содержит селектор и конкретные определения, необходимые для исправления, и ничего больше.
В конце концов, в конце концов, это ваш (огромный) основной файл css и другие, содержащие по несколько строк каждый для конкретных исправлений браузера, который подводит итог тому, что не так сложно поддерживать и отслеживать , Личным предпочтением является то, какой браузер будет работать с базовым файлом css, но обычно вы будете ориентироваться на браузер, который будет создавать наименьшее количество проблем для других браузеров (так что да, разработка для IE6 будет очень плохим решением при этом точка).
Как всегда, соблюдение правильных практик и практичность и тщательность в отношении селекторов и особенности каждого класса и использование фреймворков приведет вас к пути добра с минимальными исправлениями.Структурирование ваших файлов CSS является огромным плюсом, если вы не хотите, чтобы в конечном итоге был беспорядочный бесполезный беспорядок.
Подчеркивание префикс не является действительным CSS, поэтому никоим образом не безопасной. Используйте «* html» взломанный для IE6. – bobince
сначала следует добавить минимальные или максимальные значения, затем переопределить значения _height или _width ... это позволит вам установить min/max, а затем hardcode - значение, которое лучше всего обрабатывает минимальный/максимальный уровень IE6. – scunliffe