2012-08-14 14 views
10

Estoy tratando de lograr algo que ni siquiera estoy seguro de que sea posible aquí.calc() 100% + #px

Estoy tratando de colocar una imagen particular de PNG sombra bajo el navegador de mi sitio. Sin embargo, también quiero reutilizar esta capacidad para cualquier objeto que desee en el sitio, ya sea una imagen, un div o un botón. Básicamente usa la misma imagen de sombra para cualquier objeto.

Usando la función css3 calc() Estoy intentando hacer la altura del objeto @ 100% + 25px (altura de png). estilo

que he intentado:

height: -webkit-calc(100% + 25px); 
height: -moz-calc(100% + 25px); 
height:  -o-calc(100% + 25px); 

Pero por lo que he entendido en Firebug 100% + 25 píxeles es entonces el nuevo 100%, ya que no logra nada.

También probé:

height: -webkit-calc(100% + 25px); 
height: -moz-calc(100% + 25px); 
height:  -o-calc(100% + 25px); 
background-position: 0 -moz-calc(100% + 25px); 

Pero no hay alegría aquí tampoco.

Si utilizo calc (3em + 25px); no funciona, pero esto no es lo suficientemente flexible como para trabajar en cualquier objeto.

¿Esto es posible? ¿Estoy teniendo sentido?

+0

'-moz-box-shadow: 0 0 30px 5px # 999; -webkit-box-shadow: 0 0 30px 5px # 999; ' ¿No funcionará mejor? – TheGeekZn

+0

Muchas gracias, sin embargo, esta es una imagen específica que estoy usando para una sombra paralela curvada. Ya había hecho uso de la sombra de caja como propiedad de CSS, sin embargo, no es el efecto que busco. – user1597713

+0

Si entiendo bien, use 'border-top-left-radius: 20px 20px; border-top-right-radius: 20px 20px; ' para crear esquinas curvas. La sombra seguirá eso. – TheGeekZn

Respuesta

9

No estoy 100% seguro, pero el working draft describe que los operadores en ambos lados de un cálculo forman una subexpresión (de un solo tipo).

Dado que está combinando un valor relativo (%) con un valor absoluto (px), es posible que no pueda completar los cálculos.

Actualización: Hice una pequeña prueba y parece que funciona muy bien. ¿Estás seguro de que tus selectores y posiciones en el html son correctos? Compruebe esto Fiddle.

+1

¡Perfecto! Muchas gracias Damien! Colocando el div shadow dentro del elemento Nav y dándole al elemento Nav una altura fija, la sombra se muestra perfectamente en la parte inferior. ¡Unos cuantos enfrentamientos de margen para resolver, pero esto ha funcionado muy bien! ¡Muchas muchas gracias! – user1597713

+2

Solo para señalar. La prueba de% contra px es defectuosa, dado el hecho de que está usando una altura de 100px en primer lugar, ya que el 100% + 25% es lo mismo que el 100% + 25px. Una prueba correcta usaría una altura inicial de algo que no sea 100px. Dicho esto, cambiar la altura en el violín a 300px demuestra que la prueba funciona como se esperaba. – TobyG

+0

como el anterior, el problema que ocurre aquí es que elige automáticamente la medición del primer parámetro, por lo que en este caso se está ejecutando (100% + 25px = 125px), que resulta ser el mismo resultado que 100% + 25px . Es solo una coincidencia que lleguen al mismo resultado, a diferentes alturas no funcionaría – MintWelsh