Фильтр Matrix
Фильтр Matrix изменяет размеры, вращает, отражает, искажает элемент с помощью матричных преобразований.
Для браузеров IE 5.5-7 фильтры можно подключать в CSS документ с помощью CSS свойства filter. В IE8+ для этого предусмотрено вендорное CSS свойство -ms-filter. Причем из-за особенностей синтаксического анализатора IE8 их порядок имеет значение: -ms-filter должен идти первым.
Синтаксис
div { -ms-filter:"progid:DXImageTransform.Microsoft.Matrix()"; filter:progid:DXImageTransform.Microsoft.Matrix(); }
Параметры отделяются друг от друга запятой. Параметр состоит из двух частей: имени параметра и его значения, разделенных знаком равно. Значение параметра может быть взято в кавычки.
Параметры фильтра
Параметр | Описание | Возможные значения | Значение по умолчанию |
---|---|---|---|
Dx | определяет смещение контента элемента в пикселях по оси x, не изменяя сам элемент (если SizingMethod=’auto expand’, значение этого параметра игнорируется) | действительное число с точкой между целой и дробной частью | 1.0 |
Dy | определяет смещение контента элемента в пикселях по оси x, не изменяя сам элемент (если SizingMethod=’auto expand’, значение этого параметра игнорируется) | действительное число с точкой между целой и дробной частью | 1.0 |
enabled | флаг, управляющий фильтром |
|
true |
FilterType | определяет метод используемый для отображения результата работы фильтра |
|
bilinear |
M11 | определяет элемент трансформационной матрицы, находящийся в первой строке и в первом столбце матрицы | действительное число с точкой между целой и дробной частью | 1.0 |
M12 | определяет элемент трансформационной матрицы, находящийся в первой строке и во втором столбце матрицы | действительное число с точкой между целой и дробной частью | 0.0 |
M21 | определяет элемент трансформационной матрицы, находящийся во второй строке и в первом столбце матрицы | действительное число с точкой между целой и дробной частью | 0.0 |
M22 | определяет элемент трансформационной матрицы, находящийся во второй строке и во втором столбце матрицы | действительное число с точкой между целой и дробной частью | 1.0 |
SizingMethod | определяет, будет ли элемент изменять свои начальные размеры, чтобы вместить в себя результаты работы фильтра |
|
clip to original |
Примеры
Элемент не изменяющий свои размеры в результате работы фильтра, контент смещен по оси x на 10px влево и по оси y на 70px вниз (контент, выходящий за пределы элемента в результате работы фильтра, обрезается).
div { -ms-filter:"progid:DXImageTransform.Microsoft.Matrix(Dx=10, Dy=70)"; filter:progid:DXImageTransform.Microsoft.Matrix(Dx=10, Dy=70); }
Элемент изменяющий свои размеры в результате работы фильтра, повернут на 45 градусов.
div { -ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071068, M12=-0.7071068, M21=0.7071068, M22=0.7071068, SizingMethod='auto expand', enabled=false)"; filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.7071068, M12=-0.7071068, M21=0.7071068, M22=0.7071068, SizingMethod='auto expand', enabled=false); }
В примере для задания элементов матрицы дробная часть числа содержит 7 знаков, но может содержать и больше.