我正在开发的网站不仅使用框架,还使用框架中的框架(嗯,我知道,但我无法选择)。大多数时候它实际上工作正常,但我在 Safari 中的框架内的某些框架(仅)遇到了问题。
一些两层深的框架在 Safari 中呈现,框架的右侧有一个小空间 - 我认为它只是滚动设置为“否”的那些,但摆弄滚动设置并没有修好了。基本上看起来那里应该有一个滚动条,但实际上没有。
我已经研究了一段时间并尝试了很多方法:更改行的高度、更改滚动设置、添加 colls='100%'
标签、更改高度框架的内容,以及检查以确保宽度始终设置为 100%。到目前为止还没有解决它。
有人知道这里发生了什么吗?
这是代码的基本要点和一些屏幕截图 - 请原谅缺少正确的引号;它仍然在这个代码库中呈现和修复它们将是一场失败的战斗:
<html>
<frameset id=fset frameborder=0 border=0 framespacing=0 onbeforeunload="onAppClosing()" onload="onAppInit()" rows="125px,*,0">
<frame src="navFrame.html" name=ControlPanel marginwidth=0 marginheight=0 frameborder=0 scrolling=no noresize>
<frame src="contentFrame.html" name=C marginwidth=0 marginheight=0 frameborder=0 scrolling=no>
<frame src="invisiFrame.html" name=PING marginwidth=0 marginheight=0 frameborder=0 noresize>
<noframes><body>Tough luck.</center></body></noframes>
</frameset></html>
在第二个框架(名为“C”和“contentFrame”的 src)中是这样的:
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"></head>
<frameset rows="48px,*,28px" border=0 frameborder=0 framespacing=0>
<frame src="pageTitle.html" name=Title marginwidth=0 marginheight=0 noresize scrolling=no frameborder=0>
<frame src="content.html" name=ScreenBody marginwidth=0 marginheight=0 frameborder=0>
<frame src="submitBar.html" name=ContextPanel marginwidth=0 marginheight=0 frameborder=0 scrolling=no noresize>
</FRAMESET>
</HTML>
麻烦的框架是第一帧(名为“Title”,src 为“pageTitle.html”)和最后一帧(名为“ContextPanel”,src 为“submitBar.html”)的宽度都设置为100% 并且高度为 100%,未设置,或者小于或等于其行高的值。
这是问题的图片:
最佳答案
您看到的是当没有足够的空间来绘制整个滚动条小部件集时,Safari 如何绘制滚动条。您应该在 CSS 中为您不想滚动的任何框架/页面的 body
设置 overflow: hidden
。请注意,Safari 并不完全遵守这些规则(或元素上的 scroll="no"
),因为如果实际上超出了内容,您实际上可以通过拖动选择其内容来滚动元素可见区域。
关于html - Safari 框架隐形滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/291527/