На сайте 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 с прозрачностью.
Надеюсь, что ответит на ваш вопрос.