使用CSS旋转元素后使用高度/宽度100%
Using Height/Width 100% After Rotating an Element with CSS
我有一个元素(视频)要旋转,然后使用100%的宽度和高度。在应用旋转之前,视频占据100%的宽度和高度。旋转后,大小似乎与旋转前保持不变。我想100%重新应用宽度和高度,以使视频适应新状态。
目标是尝试以横向方式呈现视频,即使div(或手机)处于纵向模式。
以下是我尝试做的一个JSFiddle:http://jsfiddle.net/a1sLp5gn/2/
在小提琴中,单击按钮以查看所需状态的视频。
视频包含在一个容器div中,该容器div演示了它被手机屏幕之类的东西框起来(红色边框,我想用视频填充这个div)。
使用点击按钮后运行的JS,我能够实现我的目标,但我做这件事的方式很糟糕——我想知道什么是实现我正在做的事情的合适/最好的方式。
这是CSS(最好查看我提供的fiddle链接,我之所以把它放在这里,是因为当有fiddle连接时,stackoverflow需要一些代码):
video {
transform:rotate(90deg);
height:100%;
width:100%;
}
.container {
border-style:solid;
border-width:1px;
border-color: red;
height:640px;
width:360px;
}
我希望这能帮助您:即使旋转一个元素,也会在未旋转的元素上计算高度、宽度、左侧和顶部属性。您必须考虑容器尺寸并手动反转值。正常情况下,旋转使元素的中心点作为参考。(您可以更改横框原点,但在这种情况下,如果视频元素已经居中,则无需更改)
$(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)"})
});
});
相关文章:
- 设置正文高度宽度 CSS 表达式
- 更新画布上的高度/宽度并重新开始绘制
- 使用 Jquery 加载页面时的高度宽度问题
- 修改网格高度/宽度
- 通过在运行时使用 CSS 设置其高度/宽度来拉伸 img 会产生奇怪的渐变
- 模态框高度宽度根据 iframe 的高度宽度进行固定
- 在使用Javascript / Asp.net 上传之前获取文件高度宽度
- 如何使图像无论屏幕高度/宽度如何都停留在屏幕底部
- 使用CSS旋转元素后使用高度/宽度100%
- 将元素高度/宽度设置为百分比值和像素值的组合
- JQuery - 同时设置css和实际宽度/高度宽度一个函数
- ExtJS门户布局问题(内部元素的自动高度/宽度)
- CSS/Javascript解决方案,可根据图像方向自动应用高度/宽度属性
- JavaScript/JQuery函数来获取HTML元素的原始高度/宽度
- 拉伸高度/宽度以适应屏幕