4

私はCSSで何人かの人々が次のようなものを書いているのを見たことがあります

.together
 {
display:inline;
display:inline-block;
 }

表示スタイルに制限されるだけでなく、例として background-size または background-image と言います

これの目的は何ですか?つまり、2 番目のものは最初のものをオーバーライドするので、わざわざする必要はありません。

4

3 に答える 3

7

通常、このタイプの動作は、互換性のためのブラウザ ハッキングを示しています。ブラウザは、知らないプロパティまたは値を検出すると、それを無視します。したがって、最も広く受け入れられているプロパティを最初に配置すると、後者のプロパティに互換性がない場合、ブラウザはその動作に「フォールバック」します。

于 2012-08-07T04:54:40.677 に答える
6

ブラウザの互換性のためにそのように書かれている可能性があります。displayおそらく、要素に の値を持たせたいと考えていますがinline-block、すべてのブラウザーがすべての要素でそれをサポートしているわけではありません。Sitepoint には、表示プロパティの互換性に関する優れたリファレンスがあります。

このbackgroundプロパティは、背景関連のすべてのプロパティの省略形であるため、background1 つのセレクターで設定し、後で特定の背景プロパティのみを他のセレクターで上書きするのが一般的です。繰り返しますが、ブラウザーの互換性のために複数のバックグラウンド宣言がある場合があります。

于 2012-08-07T04:56:17.587 に答える
-2

次の例を見てみましょう。

<html> 
<head>      
<style>
.carlist
{
    background-color: red;
    height: 30px;
    margin: 10px;
    margin: 20px;
}
</style>
</head>

<body  onload="loadCars()">

Check div style.
<div  id="mydiv" class="carlist"></div>

</body>
</html>

上記の例では、2つのマージンが宣言されています。確認したところ、2番目の宣言がブラウザ(FF、IE、Chrome)で受け入れられていることがわかりました。したがって、これをブラウザの互換性のために使用する場合は、最後に最もブラウザ固有のスタイルを宣言する必要があると思います。ただし、ブラウザ固有のスタイルを定義する方法は他にもあります。したがって、単一の属性を定義することをお勧めします。

于 2012-08-07T05:01:38.473 に答える