2012-03-29 11 views
0

私はオンラインでサイトを持っています。これはASP.NETで書かれたWebアプリケーションです。サイトのHTMLコードをコピーしてhtmlファイルに置き、localhost(Apacheサーバー)上で実行すると、すべてがOKでCSS3PIEが正しく動作します。Css3pieはlocalhost上では完全に動作しますが、リモートサーバ上では部分的にしか動作しません。

問題は、サーバー上で動作が異なることです。最初はそれは全く機能しませんでした.cssでpie.htcの動作がアタッチされていた要素は完全に消えてしまいました。

私は、与えられた要素のposition: relative;が問題を解決すると言ったアドバイスに遭遇しました。それはまあまあでしたが、満足のいくものではありませんでした。背景はまだ透明であり、要素の一部は消えてしまい、ホバリングすると、他の要素が2つのピクセルによって側面にジャンプしました。シャドウは機能しましたが、グラデーションはありませんでした。

+0

この特定のケースでは、このサイトを参照すると役立つ可能性があります。 – mystrdat

+0

私は知っていますが、クライアントはサイトを秘密にしておきたいので、悲しいことに私はそれを明らかにすることはできません。だから、ここでの目標は、同じ問題を抱えている人を見つけて解決することだと思う。 – Elwhis

+1

その場合、私はhttp://dowebsitesneedtolookexactlythesameineverybrowser.com/としか言えない。 – mystrdat

答えて

2

可能性のカップル:

1).htcファイルが正しいMIMEタイプで提供されていません。 CSS3 PIE Known Issues

からIEはそれ以外の場合は単に 行動を無視し、HTC行動は、「テキスト/ x成分」のコンテンツタイプ ヘッダにアップ提供されている必要があります。多くのWebサーバーは、コンテンツタイプが正しい になるように事前設定されていますが、他のタイプはそうではありません。

PIEの動作が適用されない問題が発生した場合は、 サーバーの設定をチェックし、可能であれば正しい コンテンツタイプを使用するように更新してください。 Apacheのためには、.htaccessファイルでこれを行うことができます。

AddType text/x-component .htc 

IISを実行しているサーバー上の問題行動ですか?もしそうなら、どのバージョンのIIS? 行動URL

IIS 5 or higher should have the mime-type for .htc configured correctly

2)は、おそらくそれは、CSSでの相対パスに関連する2つの主な問題がありますCSS3 PIE known issues

相対パスから再び、

経路問題です

IEは、すべてのothのようにCSSファイルに相対的ではなく、ソース HTMLドキュメントに関連する動作プロパティのURLを解釈します CSSプロパティ。これは、URLがどちらかに持っているので 、不便なPIEの行動を呼び出します:

絶対ドメインのルートから - または、HTML文書への相対 - - これは、CSSが簡単にディレクトリ間で移動可能ではないになり、これは作りますCSSは異なるHTMLファイル間で簡単に再利用できません。

PIEは、CSSスタイルシートを(そうすることを容認できないほど 遅くなる)解析しないPIE-解釈CSS特性に

のURL。 IEは解析、セレクタクエリ、カスケード、 などを処理し、結果のプロパティ値を要求します。この は、PIEがプロパティ値を取得したときに、その値の起源となったコンテキスト を認識していないことを意味します。結果

は、(例えば ボーダー画像又は-pie背景など)URL値を含む特性のために、PIEは、それらが表示されるCSSファイルに対するこれらのURL を解決できません。代わりに、 を解決します。これは、JavaScript実行コンテキスト(ソースHTMLドキュメントの の場所)に対するものです。

+0

お返事ありがとうございます。それは間違いなく2番目のケースですが、最初のケースではわかりません。間違ったコンテンツタイプがパイを部分的に適用する可能性がありますか? – Elwhis

+0

@Elwhisコードがローカルホスト上で正常に動作し、実動サーバーに問題がある場合は、おそらくパスまたはサーバー構成の問題です。私は前に部分的なアプリケーションを見ていないが、可能性があります。あなたはどのバージョンのIISを言っていませんが、確認するのは簡単です。 .htcファイルをブラウザに直接ロードし、レスポンスヘッダーを表示します(Firefoxのデベロッパーツール拡張機能:情報 - >レスポンスヘッダーの表示)。これにより、コンテンツタイプとIISのバージョンが提供されます。 – steveax

+0

okですので、コンテンツタイプはokです。これはtext/x-componentです。 IISバージョンは6.0です。 – Elwhis

関連する問題