Что является недостатками, если мы используем JavaScript для применения селекторов CSS к тому браузеру, кто не поддерживает то свойство по умолчанию

Что такое недостатки, если мы используем 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/

1
задан Jitendra Vyas 15 May 2010 в 02:09
поделиться

2 ответа

Довольно распространенной практикой является использование Javascript для обнаружения поддержки CSS и применения исправлений. Действуйте. Риск возникает, когда вы начинаете применять буквальные CSS исправления в Javascript, например, element.style.border = '1px solid black', так как это будет кошмаром для поддержки. До тех пор, пока вы делаете фактические стили в таблице стилей, все в порядке.

Например, Modernizr - это проект, который добавляет классы в тег body на основе поддерживаемых технологий. Это позволяет вам использовать Javascript для обнаружения, но затем применять стили в таблице стилей. (Например, Modernizr дает вам body.borderradius, если поддерживаются закругленные углы, и body.no-borderradius в противном случае.)

Это позволяет вам легко вернуться к другим стилям, если это необходимо. Конечно, если определенная функция не поддерживается, возможно, она не так уж и важна - вероятно, вы можете эмулировать ее в некоторой степени, но так ли важно, чтобы пользователи IE7 видели острые углы? Может быть, и имеет, но, скорее всего, нет.

EDIT: Что касается ссылок, которые вы только что добавили: на мой взгляд, они выглядят нормально. Я бы не стал слишком сильно от них зависеть, но если это просто одна строка, которую вы добавили, то вы не сильно смешали свои технологии. На самом деле, мне больше нравится, как это делает проект IE-CSS3, вставляя эти строки в фактическую таблицу стилей. Это позволяет держать все вместе.

2
ответ дан 3 September 2019 в 00:32
поделиться

Минусы:

  • худшая поддерживаемость (например, если что-то выглядит неправильно -> проверьте таблицу стилей, если вы используете js, то это не работает)
  • худшая производительность (визуальные эффекты, сделанные через js, всегда медленнее, чем через css)
  • возможные проблемы с определением браузера

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

0
ответ дан 3 September 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: