CSSは、条件文を持っていません。 CSSの作業には何らかの条件文が存在する可能性があります。
CSSの条件付きテストケースを得るには、JavaScriptを使用する必要があります。
意味は、CSSのサポートを直接検出することはできません。
しかし、CSSは「カスケード」という性質のおかげで「トリック」がありますが、古いコードを同じスタイルの新しいコードに置き換える場合にのみ使用できます。変に聞こえる
が、ここでは例のカップルです:公式のCSSをサポートしてブラウザで
-moz-border-radius: 6px;
-o-border-radius: 6px;
-webkit-border-radius: 6px;
-ms-border-radius: 6px;
border-radius: 6px;
、それは一方で古いバージョンのライン5に示すようなスタイルは、Firefox、ライン1と言うだろうそれらが不明であるため、2-5行目が無視されます。
別の(そしておそらくよりよい)の例は次のようになります。
background-color: #AAA;
background-color: rgba(0, 0, 0, 0.5);
新しいブラウザが古い色をオーバーライド、それを50%の透明度を有する黒色を与えるながら、このコードは、背景にグレー色を与えます。
ほんの少し役に立ちます。
乾杯!
- 更新 -
私はちょうど助けるかもしれない何かに遭遇しました。 Aaron Gustafsonの本「Adaptive Web Design」では、与えられたブラウザ/レンダラが指定されたセレクタをサポートしていない場合、CSSがどのようにルール全体を無視するかを述べています。古いバージョンで実装いますが、このような何かを行うことができ、新しいバージョンで提供されていなかったセレクタを見つけることができる場合は、上記の考え方に
は、:
/* fake CSS */
.sprite {
background-image: url(sprite90x38.png);
}
[[ selector that is supported by newer browser/OS ]],
.sprite {
background-image: url(sprite180x76.png);
/* 180/2 = 90 */
background-size: 90px auto;
}
アイデアがためということです古いブラウザでは古いPNGを読み込むことができますが、新しいブラウザではより大きなPNGを読み込んで背景サイズを適用します。
私が心配する唯一のことは、サポートブラウザが両方の画像をロードして適用する場合です。
これは依然として、あるバージョンの別のバージョンでサポートされていないセレクタを見つける必要があります。 UPDATE 2 - -
http://www.quirksmode.org/css/contents.html
私はコメントでこれを置くが、それは役立つかもしれないように私はそれをここに追加します:Quicksmode.comは、あなたがものを見つけるのに役立つかもしれません。私はブラウザのバージョンがiOS 3.1.3でサポートされているかどうかを調べるためにしばらく時間を費やしました。そのため、上記のトリックでどのセレクタを使用することが可能でしょうか。どのような私が見つけたことは、このアップルの開発者サイトだった
:http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSProperties.html
あなたは、バックグラウンド・サイズのためのページ検索(CTR + F)を行う場合、それはiOSの1+と呼ばれる独自のバージョンサポートされていることを示しています。
-webkit-background-size: length
-webkit-background-size: length_x length_y
を
可能な解決策である可能性があります。実際のものの前にそれを追加すると、後方互換性を保証することができます。
-webkit-background-size: length
background-size: length
ルールがサポートされているかどうかを確認するために、条件付きテストを行うための元の質問は今のCSSにはできないため、代替ソリューションを見つけることができますうまくいけば。
あなたのリンクによれば、新しい背景のプロパティ(背景サイズを含む)は、iOS 4.0とAndroid 2.1まで完全にサポートされています。あなたは実際にそれよりも古いオペレーティングシステム上に多くの(どんな)ユーザーを持っていますか?たぶん心配する価値はありません。 – daGUY
オフィスには、iOS 3.1.3を使用している1人のユーザーがいて、彼の電話でサイトがよく見えるようになるまで、彼はそのウェブサイトを承認しません。 – JoJo
彼は元のiPhoneを使っていますか?私はiPhone 3GもiOS 4にアップグレードできると信じています。彼が5歳の携帯電話を使用しているため、あなたがしようとしていることを単にサポートできないと説明してください... – daGUY