我有一个包含CSS和HTML的IFRAME,其中overflow被隐藏。它在Firefox中有效,但在Chrome / Safari中无效。
为什么会这样?
为什么会这样?
<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe>
就像在scrolling="no"
中一样。
我进行了相当广泛的调研,现在我想发表我的答案,并建议这可能是对Joonas的答案的补充:
<style>
iframe {
overflow:hidden;
}
</style>
(...)
<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe>
我认为应提供scrolling
和overflow:hidden
,尽管这种解决方案在Chrome和HTML5 doctype组合中不起作用。scrolling
属性在HTML5中已弃用,在Chrome中,overflow
属性不会影响iframe。我认为后者是一个错误,因为HTML5规范明确说明:
此外,HTML5没有现有的呈现属性,它们在HTML4中用作CSS更好地处理其功能:
(...)
- td和th上的nowrap属性
- 表上的rules属性
- iframe上的scrolling属性
- hr上的size属性
- li和ul上的type属性
(...)
很明显-在HTML5中,scrolling
应该被CSS overflow
替换。
<style>
iframe::-webkit-scrollbar {
display: none;
}
</style>
很奇怪,但是对于设置了overflow:hidden的div标签来说,transform:rotate(0.00001deg)能够帮助解决问题。
transform: translateZ(1px)
也可以达到同样的效果。 - Henrik Christensen对我来说,只有width: 99.99%;
这一行代码就解决了问题。
我在Chrome中遇到了这个问题,但在Firefox中却没有。
使用overflow-y:hidden;即可隐藏垂直滚动条。
scrolling
属性在 HTML5 中已被弃用,且该属性在 HTML5 中无效。 - matewkaseamless
属性无法隐藏滚动条。目前,在最新版本的Chrome浏览器和HTML5文档中,没有办法管理iframe中的滚动条。滚动属性不起作用,CSS溢出也不起作用。后者可能是浏览器的一个bug。 - matewka