誰かがCSSでフォールバックがどのように機能するか説明できますか?私はそれをvhとvwに設定しようとしていますが、明らかに取得できません...
これが私の試みた解決策ですが、うまくいきません。高さプロパティは毎回取得されます。
CSS:
-webkit-height: 5.2vh;
-moz-height: 5.2vh;
-ms-height: 5.2vh;
-o-height: 5.2vh;
height: 41px; /* The Fallback */
元のコードを見て、いくつかコメントがあります。
-webkit-height: 5.2vh;
-moz-height: 5.2vh;
-ms-height: 5.2vh;
-o-height: 5.2vh;
height: 41px; /* The Fallback */
接頭辞-webkit-
ビットは、ifの場合にのみ適用され、その名前の接頭辞付きのプロパティがあります。 Heightには接頭辞付きのプロパティがないため、ブラウザはそれらの宣言を無視します。
(ヒント: [〜#〜] mdn [〜#〜] のようなものをチェックして、存在するプロパティを確認できます。)
この場合、ブラウザが理解できないプロパティまたは値に遭遇した場合、それらを無視し、進め。だから、あなたが探しているのは次のようなものです:
height: 41px;
height: 5.2vh;
ブラウザは期待どおりheight: 41px
を認識します。それを解析し、それをどうするかを知っています。次に、height: 5.2vh
を認識します。ブラウザがvh
ユニットを理解すると、color: blue; color: red;
が赤くなるのと同じように、41pxの代わりにそれを使用します。 vh
ユニットを理解しない場合、それは無視されます。フォールバックを最初に定義したため、ブラウザがvh
ユニットを無視することは重要ではありません。
理にかなっていますか?
フォールバックを他の値よりも上に置きます。オーバーライドする値がブラウザーで機能しない場合は、最初の値が使用されます。
height: 41px; /* The Fallback */
height: 5.2vh;
プロパティ-moz-height
、-webkit-height
、-o-height
、および-ms-height
は有効な拡張プロパティではなく、どのUA実装でも定義されていません。
height: 41px
(ChromeまたはSafari内))はまったく認識されていませんが、-webkit-height
は認識されているため、当選値としてheight: 41px
を取得しています。
あなたはこれを使いたいでしょう:
height: 41px;
height: 5.2vh;
...このコードを使用すると、ブラウザは最初にheight: 41px
を認識し、次に適用されるheight: 52.vh
を認識した場合、そうでなければ最後の「適切な」値41px
に戻ります。