0

ページの先頭に直接アクセスできないエンタープライズCMS(Autonomy / Interwoven Teamsite)で働いています。スタイルシートをリンクして外部のjsファイルを追加することしかできません。通常、ie6/ie7スタイルシートをリンクするための条件付きコメントを追加します。いくつかの検索で、私はターゲットにする方法を見つけました。つまり、js内の条件付きコメントと、jscriptバージョンに基づく特定のバージョンです。

jsで:

/*@cc_on
    document.createStyleSheet("/css/all_ie_fixes.css");
    /*@if (@_jscript_version = 5.6)
        document.createStyleSheet("/css/ie_6.css");
    /*@end
@*/

これは醜いハックのようです。助言がありますか?

4

4 に答える 4

1

条件付きCSSを試してください:

// Conditional block example  

[if IE] @import('ie.css'); 
于 2009-12-08T04:06:53.247 に答える
1

これを行うための醜い方法はおそらくありません。とは言うものの、YUI(関連するYUI doc )のようなライブラリによって提供されるユーザーエージェント検出を使用すると、上記のハックよりもわずかに明確で明確なコードが得られることは間違いありません。何かのようなもの:

if (YAHOO.env.ua.ie >= 6 && YAHOO.env.ua.ie < 7)
{
        document.createStyleSheet("/css/ie_6.css");
}

醜い、はい。しかし、その意図が何であるかはかなり明確です。

于 2009-12-08T04:09:38.073 に答える
1

一部の人々は眉をひそめていますが、IEを対象としたcssハックがあり、条件付きコメントは必要ありません。

たとえば、IE6のみがこのスタイルを読み取ります。

* html p {color:red;}

IE6はこれを読むにはあまりにも愚かです:

html>body p {color:red;}

クイックグーグル検索は他の多くを見つけます:http ://www.webdevout.net/css-hacks#in_css-selectors

于 2009-12-08T04:40:29.963 に答える
0

IE6で何かをしているとしたら、コードは醜いハックでいっぱいになります。あなたのコードの将来のメンテナは、あなたの名前を呪うのではなく、これを知って共感するでしょう。それが機能する場合は、それを使用してください。

于 2009-12-08T04:01:40.633 に答える