mediaelement.js - 具有固定最大尺寸的自适应视频

nHa*_*ins 7 html css video mediaelement.js responsive-design

如何设置以缩小视频以适应小屏幕尺寸,但不能将它们放大到超过实际尺寸?(除了将它包装在一个正确大小的div中之外,如果我找不到更好的解决方案,这将是我会回归的.)

我已经尝试过设置style="max-width: 100%;,这可以在我自己的服务器上使用视频在Firefox中运行,但是在Chrome和Firefox和Chrome中链接到YouTube视频时,视频将按比例放大以填充容器,无论为此设置的值width=""height=""值如何<video>标签.

我将举例说明我的HTML和输出的第一部分.下列:

<video width="480" height="360" style="max-width: 100%;" src="http://example.com/video.mp4"></video>
Run Code Online (Sandbox Code Playgroud)

在Firefox中生成这个(这是我想要的):

<div class="mejs-container svg mejs-video" id="mep_0" style="width: 480px; height: 360px;">
    <div class="mejs-inner">
        <div class="mejs-mediaelement">
            <video width="480" height="360" src="http://example.com/video.mp4" style="max-width: 100%;"></video>
Run Code Online (Sandbox Code Playgroud)

这在Chrome中(这不是我想要的):

<div id="mep_0" class="mejs-container svg mejs-video" style="width: 864px; height: 648px;">
    <div class="mejs-inner">
        <div class="mejs-mediaelement">
            <video width="864" height="648" style="max-width: 100%; width: 100%; height: 100%;" src="http://example.com/video.mp4"></video>
Run Code Online (Sandbox Code Playgroud)

是否有可接受的方法来实现这一目标?

小智 0

如果您使用 Firefox 输出代码

<div class="mejs-container svg mejs-video" id="mep_0" style="width: 480px; height: 360px;">
    <div class="mejs-inner">
        <div class="mejs-mediaelement">
            <video width="480" height="360" src="http://example.com/video.mp4" style="max-width: 100%;"></video>
Run Code Online (Sandbox Code Playgroud)

在您的原始脚本中,它应该可以解决问题并在 Firefox 和 Chrome 中保持输出代码一致。