2016-03-28 14 views
0

私はメインコンテンツエリアとしてiframeを持つウェブサイトを持っています。以下のCSSを適用すると、期待どおりに動作し、ページからスクロールバーが削除されます。ifmsの-ms-overflow-style

html{ 
    -ms-overflow-style: none; 
} 

ただし、iframe自体にスクロールバーを許可して、上記のより具体的なルールを以下に使用して上書きします。

iframe{ 
    -ms-overflow-style: scrollbar; 
} 

あなたはスタイルが整備されているが、それが必要として、それはやっていないと、スクロールバーがまだ存在しないはっきりと見ることができ、開発者のツールを使って要素を検査します。これはバグですか、何か不足していますか?

Example

画像から、私は無傷で、まだ削除ページのスクロールバーが、iframeのスクロールバーをしたいです。

+0

私はこの設定に精通していませんが、複数の理由でiframeで動作する可能性は低いです。おそらく、iframeに含まれているドキュメントのhtml要素に設定する必要があります。 – Alohci

+0

@Alohciこれは、IE11とEdgeで消えるスクロールバーを処理するMicrosoftスタイルです。しかし、設定自体はiframeのために機能します。 iframeのスクロールバースタイルを制御できますが、階層をオーバーライドすることはできません。 –

+0

これはCSSの特異性とは関係ありません。 CSSで定義されている特異性は、同じ要素に一致する複数のセレクタのコンセプトを指しますが、あなたの例では2つの異なる要素をすべて対象にしています。 – BoltClock

答えて

0

@Alohciが述べたように、私はこれを親ではなくiframeによって呼び出されるドキュメントの内側に設定する必要がありました。

親/マスターページ:IFRAMEによって呼び出さ

html, 
body { 
    -ms-overflow-style: none; 
} 

子供/ドキュメント:

body { 
    -ms-overflow-style: scrollbar; 
} 
-3
html, body { 
    position:relative; 
    height:100% 
} 
İframe { 
    position:absolute; 
    top:0; 
    left:0; 
    width:100%; 
    height:100% 
} 
+0

私はこの答えが伝えようとしていることを知らない。 – BoltClock

0

それはあなたのページが広すぎるので、垂直スクロールバーが水平のいずれかが原因で発生していることかもしれません。

あなたのページを必要以上に大きくすると、ウィンドウのスクロールバーが消えるはずです。

関連する問題