html 标签应直接用 width 和 height 属性(如 width="640",不加 px)设置像素尺寸,兼容所有主流浏览器;css 可覆盖但需注意继承与父容器限制,object-fit 对其无效,响应式推荐 aspect-ratio 或 padding-bottom 兜底。

直接用 width 和 height 属性最简单
HTML <object></object> 标签原生支持 width 和 height 属性,值为纯数字(单位是像素),不加 px。例如:<object data="video.mp4" width="640" height="360"></object>。这个写法兼容所有主流浏览器,包括 IE 和旧版 Safari。
注意:这两个属性只控制渲染尺寸,不改变资源本身分辨率;如果宽高比与原始内容不符,可能拉伸或留黑边。
- 必须写成
width="640",不能写width="640px"或width: 640px(后者是 CSS,无效) - 若只设
width不设height,浏览器不会自动按比例推算高度——<object></object>没有 intrinsic aspect ratio 保底逻辑 - 对 Flash 等插件内容,某些旧版本依赖这两个属性触发正确初始化,缺一不可
用 CSS 控制更灵活,但要注意优先级和继承
给 <object></object> 元素写 CSS 的 width / height 是可行的,比如:object { width: 100%; height: 400px; }。但需注意:HTML 属性和 CSS 同时存在时,CSS 会覆盖 HTML 属性(除非加 !important)。
常见陷阱是父容器没设宽高,导致 width: 100% 失效——<object></object> 默认是 inline-level,其百分比宽度按包含块计算,而包含块若没显式宽高,就可能塌陷。
- 推荐组合:
width: 100%; max-width: 640px; height: auto;(适合响应式嵌入) - 若内容是视频或 Canvas,建议同时加
display: block;,避免行内元素默认的基线对齐留白 - CSS 中设
height: 100%前,必须确保所有父级(包括html,body)都有明确高度,否则无效
object-fit 对 <object></object> 无效,别白费劲
object-fit 是作用于 <img>、<video></video>、<canvas></canvas> 的 CSS 属性,但它**不适用于 <object></object>**。哪怕你给 <object></object> 加了 object-fit: cover,现代浏览器也完全忽略——因为规范没定义它对 <object></object> 的行为,且插件内容(如 Flash、PDF 插件)根本不受该属性控制。
如果你嵌的是视频文件(data="movie.mp4"),应改用 <video></video> 标签,才能用 object-fit 精确控制填充方式。
- 想裁剪填满?用
<video></video>+object-fit: cover - 想等比缩放留黑边?用
<video></video>+object-fit: contain - 仍坚持用
<object></object>?只能靠调整width/height值或包裹容器 +overflow: hidden手动裁剪
响应式场景下,用 aspect-ratio 配合 width 更可靠
当需要保持固定宽高比(如 16/9)又允许宽度随容器变化时,CSS 的 aspect-ratio 是比传统 padding-top 技巧更简洁的方案。但注意:aspect-ratio 作用对象是 <object></object> 本身,不是它的内部内容。
例如:<object data="chart.svg" style="width: 100%; aspect-ratio: 16 / 9;"></object>。此时浏览器会根据宽度自动算出高度,无需 JS 或伪元素。
- 仅在 Chrome 88+、Firefox 89+、Safari 15.4+ 支持,IE 完全不支持
- 若
data指向的是 PDF 或 Flash,aspect-ratio只影响外层盒子,内部渲染仍由插件决定,可能溢出或居中截断 - 安全兜底写法:
style="width: 100%; height: 0; padding-bottom: 56.25%; position: relative;",再把<object></object>绝对定位填满
width 和 height 就万事大吉,却没检查 data 资源是否真能按这个尺寸渲染——尤其是跨域 PDF 或旧 Flash,常因插件限制被强制缩放到固定尺寸,HTML 层面的设置只是“建议”。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











