【发布时间】:2012-12-23 09:20:47
【问题描述】:
我有一个<div>,我想旋转 90 度:
<div id="container_2"></div>
我该怎么做?
【问题讨论】:
我有一个<div>,我想旋转 90 度:
<div id="container_2"></div>
我该怎么做?
【问题讨论】:
使用css“rotate()”方法:
div {
width: 100px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#rotate{
transform: rotate(90deg);
}
<div>
normal div
</div>
<br>
<div id="rotate">
This div is rotated 90 degrees
</div>
【讨论】:
我们可以将以下内容添加到 CSS 中的特定标签中:
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
如果半旋转将90更改为45。
【讨论】:
你需要 CSS 来实现这个,例如:
#container_2 {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
演示:
#container_2 {
width: 100px;
height: 100px;
border: 1px solid red;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
<div id="container_2"></div>
(demo中有45度旋转,可以看到效果)
注意: -o- 和 -moz- 前缀是 no longer relevant and probably not required。 IE9 需要-ms- 而Safari 和Android 浏览器需要-webkit-
2018 年更新:不再需要供应商前缀。只有transform 就足够了。 (感谢@rinogo)
【讨论】:
【讨论】:
使用transform: rotate(90deg):
#container_2 {
border: 1px solid;
padding: .5em;
width: 5em;
height: 5em;
transition: .3s all; /* rotate gradually instead of instantly */
}
#container_2:hover {
-webkit-transform: rotate(90deg); /* to support Safari and Android browser */
-ms-transform: rotate(90deg); /* to support IE 9 */
transform: rotate(90deg);
}
<div id="container_2">This box should be rotated 90&deg; on hover.</div>
点击“Run code sn-p”,然后将鼠标悬停在框上即可查看转换效果。
实际上,不需要其他前缀条目。见Can I use CSS3 Transforms?
【讨论】:
#element{transition: 9999999s}(这使得恢复正常的过渡需要永远)和#element:hover{transition: .3s}(或者无论你想要多久轮换采取)。
在您的 CSS 中使用以下内容
div {
-webkit-transform: rotate(90deg); /* Safari and Chrome */
-moz-transform: rotate(90deg); /* Firefox */
-ms-transform: rotate(90deg); /* IE 9 */
-o-transform: rotate(90deg); /* Opera */
transform: rotate(90deg);
}
【讨论】:
transform: rotate(90deg); 规则之前。原因通常是,您希望标准优先,而在 CSS 中,最后一个定义总是胜出。