Подтвердить что ты не робот

Как работает css3pie?

Что происходит за кулисами css3pie, поэтому IE может использовать функции css3?

4b9b3361

Ответ 1

сайт CSS3Pie содержит много подробностей, но я попытаюсь немного объяснить.

Internet Explorer поддерживает функцию CSS Behaviors. Это специфичная для IE функция, которая позволяет вам указать функциональность Javascript для запуска при запуске события CSS.

Для этого он использует файлы с расширением .HTC, который представляет собой в основном код Javascript со световой оболочкой пользовательского XML-кода. Поскольку Behaviors - это особенность, специфичная для IE, она не использовалась очень сильно, за исключением небольшого количества хаков, похожих на CSS3Pie, предназначенных для работы с некоторыми недостатками браузера.

В случае CSS3Pie он реализует несколько функций, которые отсутствуют в IE. Это граничный радиус, тень окна и линейный градиент.

Все это можно сделать в IE (даже более старые версии), но нестандартными способами. Например, IE поддерживает вектор векторной графики VML (опять же, это зависит от IE). VML позволяет рисовать графику с помощью Javascript и включает в себя функции для создания ящиков с закругленными углами, заливки градиента и тени.

CSS3Pie объединяет эти специфичные для IE функции. Как поведение CSS, он запускает код JavaScript, когда используется специальный код CSS. Этот javascript создает дополнительные элементы на странице, содержащей VML, которая затем оформляется в соответствии с элементом, к которому применяется класс CSS. Затем основной элемент модифицируется, чтобы удалить большинство соответствующих стилей, чтобы можно было увидеть стили элемента VML.

В конце дня это взломать. Это фактически не добавляет новые функции в IE; это просто делает некоторые существующие функции IE более стандартным.

Если вы хотите копать глубже, CSS3Pie является открытым исходным кодом, поэтому вы можете изучить его. Однако это довольно сложный код, поэтому вам может быть проще просмотреть некоторые другие (более простые) файлы HTC, которые также доступны.

До CSS3Pie уже существовал доступный с HTMlRemix.com, который предлагал закругленные углы и работал очень похоже на CSS3Pie. CSS3Pie - лучшая часть программного обеспечения, но вы можете найти код HTMLRemix более понятным.

Есть также несколько других, которые вы можете захотеть изучить:

  • Независимо: Hover исправляет IE6, так что функция CSS: hover работает со всеми HTML-элементами, а не только с тегами <a>.

  • IE PNG Fix заставляет более старые версии IE работать лучше с графикой PNG с прозрачностью.

Надеюсь, что ответит на ваш вопрос.

Ответ 2

Он просто использует JavaScript для эмуляции отсутствующего поведения.