私はiframeを持っています。
Iframeのコンテンツの幅に関係なく、垂直スクロールバーのみが表示されるようにするには、クロスブラウザーソリューションが必要です。
私のソリューションはすでにjQueryに依存しているので、CSSだけではこれが不可能な場合は、jQueryソリューションを利用できます。
これどうやってするの?
次のCSSコードを使用して、iframeまたは任意の要素のスクロールバーを調整できます。
iframe{ width:500px; height: 500px; overflow-x: hidden; overflow-y: scroll }
Iframe内の垂直スクロールバーのみを表示するには、iframeの幅をiframe内のページの幅よりも大きくするように指定します。
<iframe src="#" width="--" height="250">
<p>Your browser does not support iframes.</p>
</iframe>
またはこれを試してください:
<style>
#scroll-box {
background:#e6e6e6;
width:150px;
height: 150px;
padding:15px;
overflow-y: scroll
}
</style>
<iframe id="scroll-box">
<h3>Lorem ipsum dolor sit amet</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>
</iframe>
ネスティング...
<div>
内にロードしているページに<iframe>
を置くと、スクロールを制御できます。
<iframe scrolling="no" height="400" width="600" >
<div id="addcontent" style='width:600px;overflow-y:scroll;overflow-x:hidden;height:400px;position:relative;top:0px;left:0px;'>
</div>
</iframe>
これは私にとってはうまくいきます(サファリでも):
<iframe src="http://url/file.html" frameborder="0" style="overflow-y:scroll !important; overflow-x:hidden !important; overflow:hidden;height:100%;width:100%;" scrolling="yes"></iframe>
または、これも実行できます。
CSS
iframe {
overflow-y:scroll !important;
overflow-x:hidden !important;
overflow:hidden;
height:100%; /* optional */
width:100%; /* optional */
border:none; /* optional */
}
HTML
<iframe src="http://url/file.html" scrolling="yes"></iframe>
* src( http://url/file.html )、有効なURLとHTMLファイルを指す必要があります。