2012-05-04 2 views

答えて

14

これは、CSSの短縮形プロパティを持つ一般的な問題点です。期待通りにあなたはそれがうまくいく、backgroundの下にあなたのbackground-clip宣言を移動した場合

background-clip: content-box; 
background: #ddd none /* border-box */; 

background-clip is one of the properties that's set by the background shorthand propertyので、あなたのbackgroundスタイルは、暗黙のうちにあなたの明示的なbackground-clipスタイルをオーバーライドし、background-clip(初期値)border-boxに設定されます:

background: #ddd none; 
background-clip: content-box; 

jsFiddle demo

+0

ありがとう。クレイジー。私はショートカットプロパティと正確にはどのように動作するのかを理解していますが、 'background'ショートカットプロパティは永遠に*あったため、存在する! –

+0

@ Alan H .:うーん、問題は新しい機能が追加され、時には既存のものが洗練された*レベル*でCSSがバージョン管理されるためです。新しいプロパティが追加されたときには、それらの新しい特性を含める。以下も参照してください:http://www.w3.org/TR/CSS/#css-levels同様に、 ':not()'のようないくつかのセレクタ*は、CSS4のより広い範囲のセレクタを受け入れるように拡張されます。 – BoltClock

+0

も参照してください:[CSS3は公式な標準ですか?](http://stackoverflow.com/questions/8637901/is-css3-an-official-standard/8637917#8637917) – BoltClock

3

background CSSプロパティは、background-clipを含むすべてのの背景プロパティを定義するための一方向の方法です。したがって、background: #dddを指定すると、以前の設定はbackground-clipになりません。その代わりに、その行をbackground-color: #dddに置き換えると、それはあなたが望むように動作するはずです。

Here's jsfiddleの小さな変更。

+0

多くのあなたの答えを感謝します:) –

関連する問題