Что такое недостатки, если мы используем JavaScript для применения только свойства/селекторов CSS к тому браузеру, кто не поддерживает то свойство по умолчанию? сохранять мой HTML семантическим и сохранять лишенным HTML Устаревшего.
Это против содержания, стиля и разделения Поведения?
Если я делаю доступный сайт, затем должен я только использовать то, что я могу сделать с чистой CSS. не должен использовать JavaScript для применения свойств CSS.
Я знаю те свойства CSS, которые я применяю через JavaScript, не будет работать, если JavaScript будет отключен. затем из-за этой причины не должен использовать JavaScript для применения CSS никогда.
Я говорю об использовании подобных материалов
http://www.fetchak.com/ie-css3/
http://code.google.com/p/ie7-js/
http://www.noupe.com/css/using-javascript-to-fix-12-common-browser-headaches.html
http://www.catswhocode.com/blog/8-javascript-solutions-to-common-css-problems
http://www.impressivewebs.com/buggy-css-selectors-cross-browser-jquery/
Довольно распространенной практикой является использование Javascript для обнаружения поддержки CSS и применения исправлений. Действуйте. Риск возникает, когда вы начинаете применять буквальные CSS исправления в Javascript, например, element.style.border = '1px solid black'
, так как это будет кошмаром для поддержки. До тех пор, пока вы делаете фактические стили в таблице стилей, все в порядке.
Например, Modernizr - это проект, который добавляет классы в тег body
на основе поддерживаемых технологий. Это позволяет вам использовать Javascript для обнаружения, но затем применять стили в таблице стилей. (Например, Modernizr дает вам body.borderradius
, если поддерживаются закругленные углы, и body.no-borderradius
в противном случае.)
Это позволяет вам легко вернуться к другим стилям, если это необходимо. Конечно, если определенная функция не поддерживается, возможно, она не так уж и важна - вероятно, вы можете эмулировать ее в некоторой степени, но так ли важно, чтобы пользователи IE7 видели острые углы? Может быть, и имеет, но, скорее всего, нет.
EDIT: Что касается ссылок, которые вы только что добавили: на мой взгляд, они выглядят нормально. Я бы не стал слишком сильно от них зависеть, но если это просто одна строка, которую вы добавили, то вы не сильно смешали свои технологии. На самом деле, мне больше нравится, как это делает проект IE-CSS3, вставляя эти строки в фактическую таблицу стилей. Это позволяет держать все вместе.
Минусы:
Хороший подход, который стоит рассмотреть, это использование плавной деградации - не каждый браузер должен выглядеть одинаково, но все должны быть доступны.