我想为sass创建一个混合,它会将旋转应用于指定的元素。 mixin应该采用一个参数,适用于旋转角度的数量。为变换创建一个跨浏览器的混合:rotate
从css3please.com,我发现了一个跨浏览器的方式使用CSS来实现这一点:
.box_rotate {
-moz-transform: rotate(7.5deg); /* FF3.5+ */
-o-transform: rotate(7.5deg); /* Opera 10.5 */
-webkit-transform: rotate(7.5deg); /* Saf3.1+, Chrome */
-ms-transform: rotate(7.5deg); /* IE9 */
transform: rotate(7.5deg);
filter: progid:DXImageTransform.Microsoft.Matrix(/* IE6–IE9 */
M11=0.9914448613738104, M12=-0.13052619222005157,M21=0.13052619222005157, M22=0.9914448613738104, sizingMethod='auto expand');
zoom: 1;
}
这是非常容易做出一个mixin,除了讨厌的IE矩阵符号。有没有人有任何建议的方式转换成使用sass,javascript或两者的组合的IE矩阵转换的程度?
如果有人有兴趣,我写了mixin,它的托管在这里:https:// github。com/adambom/CSS3-Please-for-SASS – Adam 2011-04-14 22:27:42
我知道使用IE的过滤器/矩阵变换最大的问题是,当一个盒子旋转时,它不会围绕盒子的中心旋转。想象一下,旋转盒子,绘制一个最小包含旋转盒子的矩形,然后将该盒子放在盒子原来的位置。这产生了一个抵消,这些解决方案都没有(截至2012年10月31日)。如果这种说法没有道理,那么可以这样想:如果您只使用IE中的矩阵将一个方框作为html主体的开始,则旋转的方框将完全可见。在其他浏览器中,它会被裁剪。 – JayC 2012-11-01 04:31:07