7

CSSがたくさん含まれているWebページがあります。iframeを使用して読み込みます。ほとんどすべてのブラウザで完全に機能していますが、IEバージョン7ではCSSはまったく適用されていません。IE7の別のタブでページを開くと機能しますが、CSSの行が適用されていなくてもiframeになりますか?

誰かが検索を開始する場所からいくつかのヒントを教えてもらえますか?

どんな助けでもありがたいです。

編集:メインのWebページには次のドキュメントタイプがあります。

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"

それが本当かどうかはわかりませんが、厳密なdoc-typeが古いブラウザのiframeで問題を引き起こす可能性があることを読みました。これはフレームのCSSを壊した可能性がありますか?

4

3 に答える 3

3

試す

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> 

これを使って解決しました。

于 2012-12-06T13:11:42.530 に答える
3

CSS 情報は iframe にカスケードしません。iframe に配置されるページに CSS 参照を追加する必要があります。CSS をページに組み込む方法には、次のようなものがあります。

スタイルタグ付き

<style type="text/css">
h1 {color:red;}
p {color:blue;}
</style>

iframe では、これを何度もコピーする必要があります。(非推奨)

参照: http://www.w3schools.com/tags/tag_style.asp

スタイルシートを参考に

<link rel="stylesheet" type="text/css" href="theme.css">

iframe を使用すると、リンク部分だけを<head>ページの領域にコピーする必要があります

参照: http://www.w3schools.com/tags/tag_link.asp

これはIE7のものではありません。これは、CSS をサポートするすべてのブラウザー用です。

于 2012-12-07T18:36:57.303 に答える
2

1) iframe タグが適切に閉じられていることを願っています

<IFRAME SRC='gnagna.htm' STYLE='width:100%;'></IFRAME>

css またはで幅を設定する

<iframe src="somepage.htm"  frameborder=0 scrolling="auto" width="800" height="600"> This browser can not use IFRAME. </iframe>

2)これらを使用してみてください

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

また

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

3)

これを head セクションに追加することで、Ie7 との互換性を強制できます。

<head>
<meta http-equiv="X-UA-Compatible" content="IE=7" />
</head>

また

より迅速な方法は、次の行を .htaccess に追加することです

Header set X-UA-Compatible IE=EmulateIE7

4)

または、ie7/ie6 に css スタイリング ハックを適用できます。

.somediv
{
height:30px;
*height:30px; //hack for ie7 
_height:30px; //hack for ie6
}

それが役に立てば幸い

于 2012-12-15T07:20:21.593 に答える