Modernizr, html5shiv, ie7.js и CSS3 Pie.Что использовать и когда? - PullRequest
49 голосов
/ 14 апреля 2011

Я только начинаю использовать HTML5 и CSS3 в своих документах. Я понимаю необходимость JavaScript для ускорения работы Internet Explorer с этими новыми тегами и стилями, но я не знаю, что и когда использовать!

Мой план состоял в том, чтобы использовать html5shiv и IE9.js, чтобы следить за тегами HTML5, а также за прозрачными png (и любыми другими досадными ошибками, которые они исправляют), но затем Modernizr и CSS3 Pie были доведены до моего внимания.

У меня вопрос: если я использую Modernizr, то будет ли он соответствовать моей потребности в html5shiv, а также в IE9.js? Или я должен включить это также? Что такое частичное совпадение?

А что делает CSS3 Pie, чего не делает Modernizr или другие? Или наоборот?

Я ценю, что ваши ребята помогают. Дайте мне знать, что вы делаете!?

Ответы [ 3 ]

70 голосов
/ 14 апреля 2011

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

Modernizr

Включает функциональность HTML5shiv Также делает намного больше - если вы не используете другие функции, то не используйте их, это замедляет загрузку страниц, но оно того стоит, если вам это нужно!

HTML5shiv

Очень маленький, просто исправляет html5-элементы в IE, больше ничего.

CSS3PIE

Позволяет использовать радиус границы, градиенты и тень от коробки в более старых версиях IE. Также можно разрешить PNG в IE 6. Добавляет заметную задержку к загрузке страницы.

ie7.js (и ie9.js)

Предоставляет вам множество селекторов CSS3, минимальную и максимальную ширину, несколько классов и фиксированное позиционирование. Также может иметь исправление PNG, если хотите. Кажется, не сильно замедляет ход событий.

Заключение

Мой совет можно разделить на две категории:

Если вы просто используете новые (на 2 года в Интернете ?!) элементы и селекторы CSS3, используйте ie9.js + html5shiv. Это легковесный инструмент, позволяющий вам заниматься чем-либо, не забывая, что IE6 ничего не поддерживает.

Если вы используете много CSS3, CSS3PIE будет сортировать border-radius и box-shadow. Поддержка градиента кажется немного ненадежной, поэтому я всегда использовал запасное изображение. Modernizr позволяет вам легко предоставлять разные свойства браузерам с различной поддержкой. Я в основном использовал это для определения, имеет ли браузер CSS-переходы и преобразования, поскольку они полезны для любых слайдеров изображений или каруселей контента. Стоит использовать инструмент настройки, чтобы включить только те функции, которые вам нужны - материал веб-форм показывает текстовое поле с 50 в нем в течение нескольких миллисекунд, поэтому его стоит отключить, если он вам не нужен.

Надеюсь, это полезно!

6 голосов
/ 14 апреля 2011

Я бы порекомендовал вам использовать только то, что вам нужно. Создайте свое приложение в браузере, который поддерживает используемые вами функции, и периодически проверяйте в других браузерах, которые вы поддерживаете. Если что-то работает неправильно, найдите соответствующее исправление, будь то html5shiv, IE9.js, Modernizr или CSS3 Pie. Вы не собираетесь использовать все новые функции HTML5 и CSS3 на одной странице, поэтому вам не нужно включать каждую существующую библиотеку polyfill. Подождите, пока не найдете проблемы с функциями, которые вы пытаетесь использовать, затем попробуйте найти библиотеку, необходимую для этого.

2 голосов
/ 21 июля 2011

Я использовал в основном CSS3Pie ... он прекрасно работает.Но сегодня днем ​​я проверил его на своем ноутбуке с I.E8, и была проблема с ним ... это отключало некоторые строки css ... когда я удалил код css3pie, мой сайт увеличил скорость вдвое ... потом я пришелпосты с людьми, спорящими о замедлении css3 ... Так что в данный момент я занят, чтобы найти другой способ для IE7 и IE8 иметь border-radius и оттенки.

Если вы хотите использовать его... пожалуйста, проверьте много, как это не официальные исправления

...