orc*_*man 6 html javascript css jquery css3
我有一个要旋转的元素(视频),然后使用100%的宽度和高度。在应用旋转之前,视频占用100%的宽度和高度。旋转后,尺寸似乎保持与旋转前相同。我想重新应用宽度和高度100%,以使视频适应新的状态。
目标是即使div(或电话)处于纵向模式,也尝试以横向显示视频。
这是我正在尝试做的JSFiddle:http : //jsfiddle.net/a1sLp5gn/2/
在小提琴中,单击按钮以查看所需状态的视频。
该视频包含在一个容器div中,该容器演示了如何通过电话屏幕(红色边框,我想用该视频填充该div)框住该视频。
使用单击按钮后运行的JS,我可以实现我的目标,但是我以一种难看的丑陋方式进行操作-我想知道什么是实现我正在做的事情的最佳/最佳方法。
这是CSS(最好检查一下我提供的小提琴链接,我只把它放在这里,因为有小提琴链接时stackoverflow需要一些代码):
video {
transform:rotate(90deg);
height:100%;
width:100%;
}
.container {
border-style:solid;
border-width:1px;
border-color: red;
height:640px;
width:360px;
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助您:即使您旋转元素,高度、宽度、左侧和顶部属性也是在未旋转的元素上计算的。您必须考虑容器尺寸并手动反转值。通常旋转以元素的中心点为参考。(您可以使用 transorm-origin 进行更改,但在这种情况下,如果视频元素已经居中,则不需要)
$(function() {
$('button').click(function() {
var container = $("video").parent()
$('video').height($(container).width());
$('video').width($(container).height());
$('video').css('position', 'absolute')
var px = $(container).width() / 2
var py = $(container).height() / 2
$('video').css('left', px-py).css('top', py-px);
//$("video").css({"transform":"rotate(90deg)"})
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2495 次 |
| 最近记录: |