2011-12-27 725 views
9

Tengo un div que estoy posicionando con un margen negativo, pero me gustaría que se extienda hasta el fondo de su contenedor div para que pueda usar un borde que no termina al azar. Si miras al http://kineticaid.com/k/home.php, entenderás lo que quiero decir. No puedo simplemente extender su altura en píxeles porque la altura del div del contenedor cambia dinámicamente con las páginas. Lo que quiero hacer es algo como esto:¿Hay alguna forma de sumar y restar valores en CSS?

#rightcol { 
float: right; 
width: 225px; 

height: 100% + 250px; 

margin: -325px -25px 0 0; 
} 

Básicamente estoy preguntando si se puede sumar y restar en el CSS. ¡Gracias!

+2

Hay preprocesadores CSS como menos o SASS que añaden estas características, pero no estoy muy seguro de si eso es lo que están pidiendo. –

+0

Creo que solo estoy buscando una forma de combinar píxeles y porcentajes en la misma declaración de CSS, si es posible. – Brad

+1

Marque esta pregunta http://stackoverflow.com/questions/527861/value-calculation-for-css Puede ser que usted puede utilizar Javascript ... – Nalaka526

Respuesta

0

Sass y menos tienen características similares también lo que necesita, pero creo que lo que necesita debe hacerse con javascript o jquery para hacer sus cálculos.

http://api.jquery.com/height/

0

La solución para este problema es "Faux Columns", pero hay que cambiar el diseño un poco de esto.

+0

Esto es bueno pero requeriría el uso de Photoshop que es realmente no está en mi callejón: p – Brad

+0

El hecho de que una habilidad no esté "en tu callejón" no impide que sea una buena solución. La edición básica de imágenes es una habilidad bastante importante para el desarrollador web – Gareth

+0

Bueno, tampoco es lo que estaba preguntando. Me preguntaba si CSS tiene alguna capacidad incorporada para agregar y restar valores de diferentes tipos. Sin embargo, es una buena solución. – Brad

20

Sí. CSS3 tiene la función calc(). Esto funciona en las versiones actuales de la mayoría de los navegadores (http://caniuse.com/calc).

height: calc(100% + 250px); 

Demostración:jsFiddle

HTML:

<div id="one"></div> 
<div id="two"></div> 

CSS:

div { 
    border: 1px solid red; 
    height: 100px; 
} 

#one { 
    width: calc(50% + 20px); 
} 

#two { 
    width: 50%; 
} 

Salida:

enter image description here

+0

Gracias, investigaré eso. Es bueno saber que este tipo de cosas se ha incluido en CSS3. – Brad

+0

también hay un prefijo de proveedor de webkit – Burntime

Cuestiones relacionadas