如何在CSS中添加旋转图像?

use*_*880 35 html css

我写了下面的代码.但现在要求图像应旋转180度.我怎样才能做到这一点?

#cell {
background-image: url("../images/logo.PNG"); 
background-attachment: fixed; 
background-repeat: no-repeat;
background-position: 0px 250px;
background-color: #FFFFFF;
border-left: 2px;
}
Run Code Online (Sandbox Code Playgroud)

HTML标签:

    <td width="2%" id="cell"/>
Run Code Online (Sandbox Code Playgroud)

Jos*_*tos 63

一个跨浏览器的解决方案是

#cell {
  -webkit-transform: rotate(180deg);     /* Chrome and other webkit browsers */
  -moz-transform: rotate(180deg);        /* FF */
  -o-transform: rotate(180deg);          /* Opera */
  -ms-transform: rotate(180deg);         /* IE9 */
  transform: rotate(180deg);             /* W3C compliant browsers */

  /* IE8 and below */
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, DX=0, DY=0, SizingMethod='auto expand');
} 
Run Code Online (Sandbox Code Playgroud)

请注意,对于IE8及更低版本,旋转中心点不位于图像的中心(与所有其他浏览器一样).因此,对于IE8及以下版本,您需要使用负边距(或填充)来向上和向左移动图像.

该元素需要被阻止.可以使用的其他单位是: 180deg= .5turn= 3.14159rad=200grad


Thi*_*iff 8

如果您没有任何文字,<td>可以使用transform: rotate(180deg);它.如果你有文字,这也会旋转文字.为了防止你把它<div>放在里面<td>,把文本放在里面,并旋转180度(这使它再次竖立).

演示:http://jsfiddle.net/ThinkingStiff/jBHRH/

HTML:

<table>
    <tr><td width="20%" id="cell"><div>right-side up<div></td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

CSS:

#cell {
    background-image: url(http://thinkingstiff.com/images/matt.jpg); 
    background-repeat: no-repeat;
    background-size: contain;
    color: white;
    height: 150px;
    transform: rotate(180deg);
    width: 100px;
}

#cell div {
    transform: rotate(180deg);        
}
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述