You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过HTML/CSS设置MP4视频宽高 样式不生效解决方案

如何修复HTML/CSS设置MP4视频宽高不生效的问题

问题复现

尝试通过CSS修改MP4格式视频的宽高时,代码运行后视频尺寸未按设置参数变化,原始代码如下:

HTML部分

<link rel=”stylesheet” href=../../css/videos.css> ← 提问者标注该路径正确        

<table width="550" height="489" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="10"><img src="../../images/some/something.gif" width="10" height="489"></td>
        <td>
            <video controls autoplay loop muted class="videos">
              <source src="something.mp4" type="video/mp4">
            </video>
        </td>
      </tr>
</table>

CSS部分(videos.css)

.videos {
    width: 450px;
    height: 450px;
}

问题原因与修复方案

1. 修复CSS引入标签的语法错误(核心原因)

原代码的link标签存在两处语法错误,会直接导致CSS文件完全无法加载,所有写在videos.css里的样式都不会生效:

  • rel属性的引号使用了中文全角弯引号”,必须替换为英文半角双引号"
  • href属性的文件路径没有用引号包裹,不符合HTML语法规范,会导致路径解析失败

修正后的link标签写法:

<link rel="stylesheet" href="../../css/videos.css">

2. 补充视频适配属性,避免显示异常

修正CSS引入问题后,如果视频显示比例不符合预期,是因为固定宽高下视频默认会保持原始宽高比,不会自动拉伸铺满容器。可以通过object-fit属性控制视频在固定尺寸容器内的显示规则,补充到CSS规则中即可:

.videos {
    width: 450px;
    height: 450px;
    /* 根据实际需求选择对应值即可:
       - contain:保持视频原始宽高比缩放,完整显示全部内容,容器内可能出现留白
       - cover:保持视频原始宽高比缩放,铺满整个容器,超出容器的部分会被裁剪
       - fill:强制拉伸视频填满容器,不保留宽高比,会出现画面变形
       - none:保留视频原始尺寸,不做任何缩放
       - scale-down:自动对比contain和none的显示效果,选择尺寸更小的方案展示
    */
    object-fit: contain;
}

3. 异常排查项

如果以上修改完成后样式仍未生效,可以按顺序排查:

  • 打开浏览器开发者工具的Network面板,确认videos.css文件的请求状态为200,没有出现404资源找不到的情况
  • 确认没有其他优先级更高的CSS规则覆盖了.videos选择器的宽高设置,可以在开发者工具的Elements面板选中video标签,查看实际生效的样式规则
  • 确认测试浏览器支持HTML5 video标签,主流现代浏览器(Chrome、Firefox、Edge、Safari)均原生支持MP4格式视频播放

内容的提问来源于stack exchange,提问作者clo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:51:27