css background设置的背景图部分会旋转90°展示的解决办法

html-css0359

css background设置的背景图部分会旋转90°展示的解决办法,第1张

最近在做移动端开发的时候,有时候会遇到设置的背景图被莫名其妙的旋转了90°,这是为什么呢?

原因是这个图片携带了exif信息,去掉这个信息就可以了,图片也就恢复正常显示了,在src的路径后面加上参数imageMogr2/auto-orient即可;例如:<img src="123.png?imageMogr2/auto-orient"/> 

这个要用css3,ie要用滤镜,举例顺时针旋转90度

-moz-transform:rotate(90deg)

-webkit-transform:rotate(90deg)

transform:rotate(90deg)

filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)

上面代码前三行是css3,第四行是ie滤镜的简单的90度的整数倍旋转方式,更加复杂的度数要用矩阵,需要的话可以查查资料

注:左旋把90改为-90,rotation=1改为rotation=3.

注:如果你的层上还有文字什么的,也会被旋转,所以有文字的话,和背景图放在不同的层上,旋转有背景图的层

div

{

transform:rotate(9deg)

-ms-transform:rotate(9deg) /* Internet Explorer */

-moz-transform:rotate(9deg) /* Firefox */

-webkit-transform:rotate(9deg) /* Safari 和 Chrome */

}

这是css3 的2d转换 确实能实现将背景图旋转。(9deg是选择角度 自己调整)

但是! 他会把div里面的所有内容都旋转掉(如果里面有文字或者其他也都会被影响而旋转)!