object标签的滚动条源自被嵌入子页面body的默认溢出行为,非object自身产生;需在子页面设body{overflow:hidden}或父页面对object设overflow:hidden并display:block。

object 标签滚动条来自哪里
滚动条不是 object 自身产生的,而是浏览器在渲染其内部文档(比如 Page2.html)时,对那个子页面的 body 或根容器默认行为的响应。只要子页面内容高度超过 object 的 height,且子页面没禁用溢出滚动,就会出现右侧滚动条。
直接改子页面 body 的 overflow
最可靠、兼容性最好的方式,是在被嵌入的 HTML 文件(即 data 指向的那个页面)里设置:
-
body { overflow: hidden; margin: 0; }—— 彻底隐藏滚动条,但也会裁剪溢出内容 -
body { overflow-y: hidden; }—— 只禁垂直滚动,保留水平方向(如果需要) - 务必同时清除
body默认margin,否则可能因空白边导致意外滚动
父页面用 CSS 裁剪 object 容器
如果无法修改子页面(比如是第三方资源),可在父页面对 object 元素加样式强制裁剪:
object { overflow: hidden; display: block; }- 必须加
display: block,否则overflow在内联元素上无效 - 注意:这仅隐藏滚动条 UI,若子页面内容实际超出,仍可能被截断或交互失灵
- 某些旧版 IE 对
object的overflow支持不稳定,需实测
别碰 scrolling 属性——它已废弃
早期有人试过 <object scrolling="no">,但这个属性在 HTML5 中已被移除,现代浏览器完全忽略。写上去既不生效,还可能误导后续维护者。
立即学习“前端免费学习笔记(深入)”;
真正起作用的永远是子页面自身的 overflow 控制,或者父页面对容器的裁剪;任何想绕过子页面、单靠父页一个属性就干掉滚动条的想法,都会在 Chrome/Firefox/Edge 最新版本里失效。



















