Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用CSS旋转元素后100%使用高度/宽度_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用CSS旋转元素后100%使用高度/宽度

Javascript 使用CSS旋转元素后100%使用高度/宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个元素(视频),我想旋转,然后使用100%的宽度和高度。在应用旋转之前,视频占据100%的宽度和高度。旋转后,大小似乎与旋转前保持不变。我想重新应用宽度和高度100%,以适应新的状态的视频 目标是尝试在横向模式下呈现视频,即使div(或手机)处于纵向模式 下面是我尝试做的一部分: 在小提琴中,单击按钮以查看所需状态下的视频 该视频包含在一个容器div中,该容器div演示了它被手机屏幕之类的东西框住(红色边框,我想用视频填充这个div) 使用点击按钮后运行的JS,我能够实现我的目标,但我是

我有一个元素(视频),我想旋转,然后使用100%的宽度和高度。在应用旋转之前,视频占据100%的宽度和高度。旋转后,大小似乎与旋转前保持不变。我想重新应用宽度和高度100%,以适应新的状态的视频

目标是尝试在横向模式下呈现视频,即使div(或手机)处于纵向模式

下面是我尝试做的一部分:

在小提琴中,单击按钮以查看所需状态下的视频

该视频包含在一个容器div中,该容器div演示了它被手机屏幕之类的东西框住(红色边框,我想用视频填充这个div)

使用点击按钮后运行的JS,我能够实现我的目标,但我是以一种骇人听闻的方式完成的——我想知道实现我所做的事情的合适/最好的方式是什么

这是CSS(最好检查一下我提供的fiddle链接,我只是把它放在这里,因为当有fiddle链接时stackoverflow需要一些代码):

我希望这能帮助您: 即使旋转图元,也会计算未旋转图元的高度、宽度、左侧和顶部特性。必须考虑容器尺寸和手动倒置值。 通常,旋转使元素的中心点作为参考。(可以使用transorm原点进行更改,但在这种情况下,如果视频元素已居中,则无需更改)


谢谢这是可行的,而且比我的初始解决方案(标记为已解决)要好。我希望这可以用纯CSS来解决,但这仍然起到了作用。
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)"})
 });
});