質問

私は、フレームだけでなくフレーム内のフレームを使用するWebサイトで作業しています(知っていますが、選択することはできません)。実際にはほとんどの場合正常に動作しますが、Safari(のみ)のフレーム内のフレームの一部で問題が発生しています。

Safariでレンダリングされる2つの深さのフレームの一部は、フレームの右側に小さなスペースがあります-スクロールが「いいえ」に設定されているものだけだと思いますが、スクロール設定をいじっていますまだ修正済みです。基本的にそこにスクロールバーがあるはずですが、ありません。

私はこれにしばらく取り組んでおり、多くのことを試しました:行の高さの変更、スクロール設定の変更、 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>

その2番目のフレーム(&quot; C&quot;と&quot; contentFrame&quot;の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>

問題のあるフレームは、最初のフレーム(&quot; pageTitle.html&quot;というsrcの&quot; Title&quot;)とsrcと&quot; submitBar.html&quot;のsrcとなる&quot; ContextPanel&quot;という名前)です。幅を100%に設定し、高さを100%に設定するか、設定しないか、行の高さ以下の値にします。

問題の画像を次に示します。

FirefoxおよびSafariでサイトを表示する画像、セクションにラベルを付けて

役に立ちましたか?

解決

表示されているのは、スクロールバーウィジェットセット全体を描画するのに十分なスペースがない場合にSafariがスクロールバーを描画する方法です。スクロールしたくないフレーム/ページの body のCSSで overflow:hidden を設定する必要があります。実際にはコンテンツがある場合、Safariはこれらのルールを完全に守っていない(または要素の scroll =&quot; no&quot; )ことに注意してください。可視領域を超えています。

他のヒント

スクロールバーを表示するタイトルフレームと送信フレームには、html bodyタグscroll =&quot; no&quot;を含めることができます。

<body scroll="no"> 

フレームまたは通常のレンダリングに関係なく、スクロールバーはありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top