HTML iframe - 禁用滚动

Mic*_*man 70 html css iframe

我在我的网站上有以下iframe:

<iframe src="<<URL>>" height="800" width="800" sandbox="allow-same-origin allow-scripts allow-forms" scrolling="no" style="overflow: hidden"></iframe>
Run Code Online (Sandbox Code Playgroud)

它有滚动条.
如何摆脱它们?

Jam*_*lly 145

不幸的是,我不相信完全符合HTML5的HTML和CSS属性是可能的.幸运的是,大多数浏览器仍然支持该scrolling属性(已从HTML5规范中删除).

overflow不是HTML5的解决方案,因为唯一支持错误的现代浏览器是Firefox.

目前的解决方案是将两者结合起来:

<iframe src="" scrolling="no"></iframe>
Run Code Online (Sandbox Code Playgroud)
iframe {
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

但随着浏览器的更新,这可能会过时.您可能需要查看此解决方案以获取JavaScript解决方案:http://www.christersvensson.com/html-tool/iframe.htm

编辑:我已经检查过并将scrolling="no"在IE10,Chrome 25和Opera 12.12中运行.

  • @LinusAn这是我答案的第一行所说的.问题是虽然浏览器不能完全放弃它,因为它会破坏HTML4网站,所以`scrolling`属性仍然是一个可行的,虽然无效的选项. (4认同)
  • @DaniSpringer此解决方案支持删除内容.加载不具有滚动功能的iframe不会自动调整整个子页面的大小以适合指定的iframe维度. (3认同)

Joh*_*ith 17

我用这个css解决了同样的问题:

    pointer-events:none;
Run Code Online (Sandbox Code Playgroud)

  • 它似乎阻止了滚动的物理尝试,而不是视觉滚动条...... (6认同)
  • 这将阻止在iframe上触发任何鼠标事件,包括滚动.太宽泛而不是一个强大的解决方案 (4认同)

Ale*_*lex 8

它似乎工作正常

html, body { overflow: hidden; }
Run Code Online (Sandbox Code Playgroud)

IFrame 里面

编辑:当然这只有工作,如果你有权访问Iframe的内容(在我的情况下我有)

  • 但是,在使用 iframe 时,您通常无法访问其中的内容,因为它通常用于包含另一个域中的内容。 (2认同)