top sombra resplandor inside inset imagen examples estilos bottom bootstrap css css3 box-shadow

css - sombra - ¿Hay una propiedad ''box-shadow-color''?



shadow bottom css (6)

En realidad ... ¡hay! Más o menos box-shadow predeterminado en color , al igual que border .

De acuerdo con http://dev.w3.org/.../#the-box-shadow

El color es el color de la sombra. Si el color está ausente, el color usado se toma de la propiedad ''color''.

En la práctica, debe cambiar la propiedad de color y dejar box-shadow sin un color:

box-shadow: 1px 2px 3px; color: #a00;

Apoyo

  • Safari 6+
  • Chrome 20+ (al menos)
  • Firefox 13+ (al menos)
  • IE9 + (IE8 no es compatible con box-shadow en absoluto)

Manifestación

div { box-shadow: 0 0 50px; transition: 0.3s color; } .green { color: green; } .red { color: red; } div:hover { color: yellow; } /*demo style*/ body { text-align: center; } div { display: inline-block; background: white; height: 100px; width: 100px; margin: 30px; border-radius: 50%; }

<div class="green"></div> <div class="red"></div>

El error mencionado en el comentario a continuación se ha corregido desde entonces :)

Tengo el siguiente CSS:

box-shadow: inset 0px 0px 2px #a00;

Ahora estoy tratando de extraer ese color para que los colores de la página sean ''ajustables''. ¿Hay alguna forma de hacer esto? Simplemente eliminando el color, y luego usando la misma clave otra vez, sobrescribe la regla original.

No parece haber un box-shadow-color , al menos Google no da vuelta nada.


No:

http://www.w3.org/TR/css3-background/#the-box-shadow

Puede verificar esto en Chrome y Firefox revisando la lista de estilos computados. Otras propiedades que tienen métodos abreviados (como border-radius ) tienen sus variaciones definidas en la especificación.

Al igual que con la mayoría de las propiedades CSS perdidas "a mano", las variables CSS pueden resolver este problema:

#el { --box-shadow-color: palegoldenrod; box-shadow: 1px 2px 3px var(--box-shadow-color); } #el:hover { --box-shadow-color: goldenrod; }

Puedes probar esto en Firefox 31+. Desafortunadamente, en el momento de escribir esto, ningún otro navegador tiene una implementación funcional.


Podría usar un preprocesador CSS para hacer su skinning. Con Sass puedes hacer algo similar a esto:

_theme1.scss:

$theme-primary-color: #a00; $theme-secondary-color: #d00; // etc.

_theme2.scss:

$theme-primary-color: #666; $theme-secondary-color: #ccc; // etc.

styles.scss:

// import whichever theme you want to use @import ''theme2''; -webkit-box-shadow: inset 0px 0px 2px $theme-primary-color; -moz-box-shadow: inset 0px 0px 2px $theme-primary-color;

Si no se trata de un tema de todo el sitio, sino de una clase basada en el tema que necesita, puede hacerlo: http://codepen.io/jjenzz/pen/EaAzo


Sí, hay una manera

box-shadow 0 0 17px 13px rgba(30,140,255,0.80) inset


Tal vez esto es nuevo (también soy bastante basura en css3), pero tengo una página que usa exactamente lo que sugieres:

-moz-box-shadow: 10px 10px 5px #384e69; -webkit-box-shadow: 10px 10px 5px #384e69; box-shadow: 10px 10px 5px #384e69;}

.. y funciona bien para mí (al menos en Chrome).


Un rápido y copiar / pegar que puede usar para Chrome y Firefox sería: (cambie las cosas después del # para cambiar el color)

-moz-border-radius: 10px; -webkit-border-radius: 10px; -khtml-border-radius: 10px; -border-radius: 10px; -moz-box-shadow: 0 0 15px 5px #666; -webkit-box-shadow: 0 0 15px 05px #666;

La respuesta de Matt Roberts es correcta para navegadores de webkits (safari, cromo, etc.), pero pensé que alguien podría querer una respuesta rápida en lugar de que le dijeran que aprendiera a programar para hacer algunas sombras.