問題のウェブサイト: http://atlanticsig.creativecurvedev2.ca/
ちょっとした背景... これは、メニューに Wayfinder 拡張機能を使用し、サブメニューに Ultimate Dropdown を使用して MODx で構築しているクライアントの開発サイトです。メニューのきれいな背景色を生成するために、CSS グラデーションを使用しています。
私の問題は、IE8 では、「フィルター」グラデーションの背景色を組み込むと、ヘッダー ナビゲーションにドロップダウン メニューが表示されないことです。この問題が発生するのは IE8 ブラウザーのみです。IE7 でも正常に動作します。技術的には、カーソルがサブメニュー リンクをクリックできるため、ドロップダウン メニューが表示されますが、ブラウザはそれらの表示を拒否します。
IE8 の繰り返し背景画像を使用することで問題を修正しましたが、このルートには行きたくありませんでした。確かに CSS ソリューションがあるはずだと思ったので、これを投稿しています。私の好奇心は刺激され、本当の問題が何であったかを見たいと思います.
この問題を次のコード行まで追跡できました。
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); /* IE6-8 */
次のコード ブロックからこの行を削除するとすぐに、ドロップダウン メニューは IE8 で正常に機能しますが、グラデーションは消えてしまいます。
#header_menu {
background: -moz-linear-gradient(top, #003764 0%, #3b6b89 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#003764), color-stop(100%,#3b6b89)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #003764 0%,#3b6b89 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #003764 0%,#3b6b89 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #003764 0%,#3b6b89 100%); /* IE10+ */
background: linear-gradient(to bottom, #003764 0%,#3b6b89 100%); /* W3C */
background-color: #003764; /* Old browsers */
height: 38px;
width: auto;
}
グラデーションのさまざまな配置、さまざまな要素へのグラデーションの適用、コンテナーとメニューへのさまざまな高さ/幅/位置の値の適用、z-index 値の操作、余分なブロックの追加など、HTML と CSS で多くの修正を試みました。など
最終的には、常にその「フィルター」行に戻るように見えました (-ms-filter- も試しました)。
他のコードのスニペットが必要な場合は、お知らせください。これは非常に興味深い問題であり、私は本当に解決したいと思っています。