如何在IE8中使用CSS旋转和平移?

How to rotate and translate using CSS in IE8?

我们向使用转换规则的页面添加了一些新奇的 css,但是我们需要保持与 IE8 的兼容性,而这些规则在那里不起作用。我们所做的只是旋转和平移一些元素,我设法使用以下代码在 IE8 中进行旋转:

-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=0.7071067811865475, M21=-0.7071067811865475, M22=0.7071067811865476)";

但是我不知道如何做翻译部分。我试图将第三列添加到矩阵中,看看它是否会起作用,但没有发生任何转换。我尝试了有和没有 px,但结果是一样的。我还尝试添加第三行 (0,0,1),但这也没有用。

我知道有解决此问题的解决方法库,但老实说这太过分了。我只需要将 IE8 特定的翻译添加到我已有的内容中。

我还没有弄清楚如何(或者如果我可以)使用 -ms-filter 在旋转的同时进行平移,但我设法使用良好的旧边距实现了我的目标。

起初我以为我可以简单地使用 </code> hack 来针对 IE8,但不幸的是它不仅影响 IE8 及以下版本,而且还影响 IE9 和 IE 10。</p> <p>在测试期间我还发现 <code>-ms-filter 与 IE9 混淆,所以最后我使用条件注释添加了 IE8 特定的 css:

<!--[if lt IE 9]>
<style>
    .something{
        -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=0.7071067811865475, M21=-0.7071067811865475, M22=0.7071067811865476)";
        margin-left:-40px
        margin-top:-40px
    }
</style>
<![endif]-->