iframe を介して古いページ内に「新しい」スタイルのページを埋め込もうとしていますが、IE9 では、ページが iframe 内に読み込まれると、border-radius などはまだ効果がありません。ページが単独で読み込まれると、丸みを帯びた角と効果は問題なく表示されますが、iframe 内では css プロパティが無視されるようです。
最初は、これは DOCTYPE の継承の問題だと思っていましたが、両方<!DOCTYPE html>
(外部ページと内部ページ) の問題です。次に、content="IE=Emulate8"
内側の iframe に継承されているのは だと思います。もちろん、これは理論です。間違った理論でしたら教えてください。:)
とにかく、ここにページの例があります:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="IE=EmulateIE8" http-equiv="X-UA-Compatible">
</head>
<body>
... stuff...
<iframe>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
</head>
</html>
</iframe>
</body>
</html>
これのいくつかは、実際には関係がないかもしれません。とにかく、私の質問は次のとおりです。EmulateIE8 が原因で、border-radius などの css プロパティが IE9 の iframe で機能しない理由について、それをオーバーライドしたり、内側の iframe 内で無効にしたりすることは可能ですか?
残念ながら、アプリケーションのフレームワーク全体を変更せずに iframe の外側にあるものを変更することは困難です (レガシー アプリ *ため息*)。レガシー アプリケーションの内部にもう少しモダンなものを入れようとしています。