我想旋转放置在Chrome中滚动条按钮的图像。现在我有一个包含这个内容的CSS:
::-webkit-scrollbar-button:vertical:decrement
{
background-image:url(images/arrowup.png) ;
-webkit-transform:rotate(120deg);
-moz-transform:rotate(120deg);
background-repeat:no-repeat;
background-position:center;
background-color:#ECEEEF;
border-color:#999;
}
我希望旋转图像而不旋转其内容。
答案 0 :(得分:122)
做得很好,在这里回答 - http://www.sitepoint.com/css3-transform-background-image/
#myelement:before
{
content: "";
position: absolute;
width: 200%;
height: 200%;
top: -50%;
left: -50%;
z-index: -1;
background: url(background.png) 0 0 repeat;
-webkit-transform: rotate(30deg);
-moz-transform: rotate(30deg);
-ms-transform: rotate(30deg);
-o-transform: rotate(30deg);
transform: rotate(30deg);
}
答案 1 :(得分:15)
非常简单的方法,你单向旋转,内容另一个。虽然
需要一个正方形#element{
background : url('someImage.jpg');
}
#element:hover{
transform: rotate(-30deg);
}
#element:hover >*{
transform: rotate(30deg);
}
答案 2 :(得分:5)
我也希望这样做。我有一个大的瓷砖(字面上是瓷砖的图像)图像,我想旋转大约15度并重复。你可以想象一个可以无缝重复的图像大小,渲染图像编辑程序'回答没用。
我的解决方案是将未旋转的(仅一个副本:)平铺图像提供给psuedo:在元素之前 - 超大它 - 重复它 - 将容器溢出设置为隐藏 - 并使用css3转换旋转生成的:before元素。波什!
答案 3 :(得分:3)
<强> CSS:强>
.reverse {
transform: rotate(180deg);
}
.rotate {
animation-duration: .5s;
animation-iteration-count: 1;
animation-name: yoyo;
animation-timing-function: linear;
}
@keyframes yoyo {
from { transform: rotate( 0deg); }
to { transform: rotate(360deg); }
}
<强>使用Javascript:强>
$(buttonElement).click(function () {
$(".arrow").toggleClass("reverse")
return false
})
$(buttonElement).hover(function () {
$(".arrow").addClass("rotate")
}, function() {
$(".arrow").removeClass("rotate")
})
PS:我在其他地方发现了这个,但不记得来源
答案 4 :(得分:2)
在我的情况下,图像尺寸不是很大,无法旋转复制它。因此,图像已经用photoshop
旋转了。 photoshop
用于旋转图像的替代方法是online tool too for rotating images。旋转后,我将使用rotated-image
属性中的background
。
div.with-background {
background-image: url(/img/rotated-image.png);
background-size: contain;
background-repeat: no-repeat;
background-position: top center;
}
祝你好运...