答案 0 :(得分:2)
您可以对纵向或横向进行媒体查询
<style>
@media all and (orientation: portrait) {
video {
min-height: 100%;
}
}
@media all and (orientation: landscape) {
video {
min-width: 100%;
}
}
</style>
答案 1 :(得分:2)
首先让我们找到高度和宽度之间的比率。例如,16/9比率意味着宽度是高度的177.778%或高度是宽度的56.25%。这将我们带到以下css:
@media screen and (orientation:portrait) { /** vmin = width **/
.video {
width: 100vmin; /** width is the 100% **/
height: 56.25vmin; /** height is in relation to width **/
}
}
@media screen and (orientation:landscape) { /** vmin = height, vmax = width **/
.video {
width: 100vmax; // width is the 100%
height: 56.25vmax; // height is in relation to width
max-width: 177.778vmin; // the maximum width however is constrained by the height
max-height: 100vmin; // and the height can't go beyond the viewport height
}
}
这是显示行为的demo - 调整右下方窗格的大小。请注意,黄色表示横向,红色表示纵向。
答案 2 :(得分:1)
使用window.innerHeight
和window.innerWidth
查找显示的高度和宽度。现在找到宽高比或简单比例,并将其与视频的宽高比进行比较。
如果您的视频的高度/宽度超过设备设置宽度的高度/宽度为100%,则设置高度为100%。
deviceRatio = window.innerHeight/window.innerWidth;
videoRatio = //whatever it is
if(deviceRatio>videoRatio){
//set the video to have 100% width
}
else{
//set the video to have 100% height
}