0

ボーダーとボックスシャドウのインセットを使用する効果が大好きですが、インセットの負の値をサポートしているのは「Chrome」だけです0px, 0px, -1px

しかし、FF、Safari、IEをチェックしたところ(Operaはありませんが、サポートされていないに違いありません)...ボックスシャドウはまったくありませんでした。

firebugで要素を調べて、box-shadowと入力しようとすると:0px 0px 1px rgba(255,255,255,0.7)inset; 表示されますが、では表示されません-1px。その場合、値は無効です。

誰かがこれについて何か知っていますか?そうでない場合は、ブラウザがクロムではない「IF」を作成するにはどうすればよいですか?代わりに正の値を追加しますか?

4

2 に答える 2

2

ユーザーエージェント検出を使用して、Chromeブラウザを検出できます。

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;

このページから取得)

その後:

// include this in the <head> of your doc
if (is_chrome) {
   <link href="chrome_style.css" rel="stylesheet" />
} else {
    // do stuff for other browsers (or ignore)
}

「chrome」という単語は、ほとんどの(すべてではないにしても)chromeのユーザーエージェントに表示されているようです。userAgentString.comは、古いバージョンの以前のユーザーエージェント文字列のリストも提供していることがわかりました。

于 2012-08-07T22:30:40.520 に答える
1

この特定のケースにはもっと良い方法があると確信していますが、これを共有したいと思います。

CSS Browser Selectorは、特定のブラウザーのCSSクラスを指定できる非常にクールなJSファイルです。

たとえばexample、ブラウザがIE7の場合、以下はクラスの要素にのみ適用されます。

.ie7 .example {
  background-color: orange
}

このページには、サポートされているすべてのブラウザが一覧表示され、Chrome以外のすべてに適用されるスタイルを作成できます。

.ie, .ie7, .ie8, .opera, ... { style }
于 2012-08-07T22:23:55.340 に答える