2012-05-04 18 views

Respuesta

14

Esto es un gotcha común con propiedades abreviadas en CSS.

Debido background-clip is one of the properties that's set by the background shorthand property, su estilo background está estableciendo implícitamente background-clip-border-box (su valor inicial), anulando su estilo explícita background-clip:

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

Si mueve su declaración background-clip debajo background, funcionará como se esperaba :

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

jsFiddle demo

+0

Gracias. Loca. Comprendo las propiedades de los accesos directos y cómo funciona esto exactamente, pero dado que la propiedad de acceso directo 'ha estado en * forever *, me resultaba bastante inconcebible que se haya expandido/redefinido para incluir ahora propiedades que ni siquiera se usaban para ¡existe! –

+0

@Alan H .: Bueno, el asunto es que CSS tiene una versión en * niveles *, donde se agregan nuevas características y otras se refinan, por lo que cuando se agregan nuevas propiedades, solo es apropiado ampliar las nuevas versiones de las propiedades abreviadas para incluir esas nuevas propiedades. Ver también: http://www.w3.org/TR/CSS/#css-levels Del mismo modo, algunos * selectores * como ': not()' también se mejorarán para aceptar una gama más amplia de selectores en CSS4. – BoltClock

+0

Vea también: [¿Es CSS3 un estándar oficial?] (Http://stackoverflow.com/questions/8637901/is-css3-an-official-standard/8637917#8637917) – BoltClock

3

La propiedad CSS background es una forma de una línea para definir todos los propiedades de fondo, incluyendo background-clip. Por lo tanto, al especificar background: #ddd, se desactiva la configuración anterior de background-clip. Si, en cambio, reemplaza esa línea con background-color: #ddd, debería funcionar de la manera que desee.

Here's la pequeña modificación de su jsfiddle.

+0

Mucho agradezco su respuesta :) –

Cuestiones relacionadas