Каковы недостатки, если мы используем javascript для применения селекторов CSS к этому браузеру, которые не поддерживают это свойство по умолчанию - PullRequest
1 голос
/ 15 мая 2010

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

Ответы [ 2 ]

2 голосов
/ 15 мая 2010

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

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

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

РЕДАКТИРОВАТЬ: Относительно тех ссылок, которые вы только что добавили: они выглядят хорошо для меня. Я бы не стал слишком сильно зависеть от них, но если вы добавите одну строчку, вы бы не смешали свои технологии значительно. На самом деле, мне скорее нравится, как проект IE-CSS3 делает это, когда вы отбрасываете эти строки в реальной таблице стилей. Это держит все вместе.

0 голосов
/ 15 мая 2010

К минусам относятся:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...