旋转背景图像的Div 90度使用JQuery
Rotate Background Image of Div 90 Degrees using JQuery
我有一个div,看起来像这样:
<p class="stepNode" aria-disabled="true" style="background: url(https://...jpg) 50% 50%;">
<p class="stepLabel">
<div> New Step</div>
</p>
</p>
我想将div内的背景图像逆时针旋转90度(不旋转整个容器". stepnode ")。我如何使用jQuery做到这一点?
您可以在包含背景的容器中添加:before(更多信息参见此)。
.stepNode:before {
content: "";
position: absolute;
width: 200%;
height: 200%;
top: -50%;
left: -50%;
z-index: -1;
background: url(some-background-url-here) 40% 50% no-repeat;
然后创建一个包含rotate属性的css类。
.transform:before {
-webkit-transform: rotate(-30deg);
-moz-transform: rotate(-30deg);
-ms-transform: rotate(-30deg);
-o-transform: rotate(-30deg);
transform: rotate(-30deg);
}
通过jquery,你可以添加类:
$(".stepNode").addClass("transform");
同样,你可以设置一个过渡时间,以添加动画(把它放在。stepnode:before中)
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s
-o-transition: all 1s;
transition: all 1s;
这是一个工作的jsfile。
编辑:90度版本:jsfiddle
为了实现这一点,您需要有两个div处于绝对位置。一个包含背景图像,另一个包含文本。
<div class="myRotate"></div>
<div class="myContent">
<p class="stepNode" aria-disabled="true">
<p class="stepLabel">
<div> New Step</div>
</p>
</p>
</div>
接下来,你可以在任何你想要的元素上附加一个Jquery OnClick事件,以便背景旋转。
$(function(){
$('.myContent').click(function(){
$('.myRotate').css({'-webkit-transform' : 'rotate(-90deg)',
'-moz-transform' : 'rotate(-90deg)',
'-ms-transform' : 'rotate(-90deg)',
'transform' : 'rotate(-90deg)'});
});
});
下面是一个工作示例
相关文章:
- 图像在旋转 90 度时脱离父 td
- 如何设置对象沿世界x轴旋转90度
- 如何将每个图形旋转90度
- 三.js设置旋转矩阵超过90度时的奇怪行为
- 将 d3.parset 可视化效果旋转 90 度(使可视化效果变为水平而不是垂直)
- 通过手机加载时,画布图像会将图像旋转 90 度
- Jquery/rss feed脚本,用于过滤掉所有超过 90 天的帖子
- 自拍时图像旋转了90度
- d3:计算两个节点之间的线的中点,画一条从它到一个新节点成90度角的线
- html将整个画布旋转90度
- 未使用Chrome 37中的.transform应用旋转(90度)
- jquery每个循环得到元素的裕度
- Three.js -当相机以90度角旋转时,为什么在x轴和z轴上旋转会产生相同的效果?
- 顺时针旋转画布90度,更新宽度和高度
- 旋转背景图像的Div 90度使用JQuery
- 根据其他图像的位置旋转图像90度
- 使用three.js和tween.js以90度增量旋转对象以创建360度循环
- 将桌子旋转90度
- 如何在HTML5中转换-90度后使网页适合
- 圆图不清除在90度