2011-12-27 10 views
9

Ho un div che sto posizionando con un margine negativo, ma mi piacerebbe che si estendesse fino in fondo al suo contenitore div in modo da poter usare un bordo che non si esaurisse casualmente. Se guardi allo http://kineticaid.com/k/home.php capirai cosa intendo. Non posso semplicemente estendere la sua altezza in pixel perché l'altezza del contenitore div varia dinamicamente con le pagine. Quello che voglio fare è qualcosa di simile:C'è un modo per aggiungere e sottrarre valori nei CSS?

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

height: 100% + 250px; 

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

Fondamentalmente sto chiedendo se è possibile aggiungere e sottrarre in CSS. Grazie!

+2

Ci sono preprocessore CSS come minore o SASS che aggiungono tale caratteristica, ma non sono davvero sicuro se è quello che si sta chiedendo. –

+0

Penso che sto solo cercando un modo per combinare pixel e percentuale nella stessa dichiarazione CSS, se è anche possibile. – Brad

+1

Controllare questa domanda http://stackoverflow.com/questions/527861/value-calculation-for-css Può essere che si può usare Javascript ... – Nalaka526

risposta

0

Sass e meno hanno caratteristiche simili simili a quelle di cui hai bisogno, ma penso che la tua richiesta debba essere eseguita con javascript o jquery per eseguire i tuoi calcoli.

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

0

La soluzione per questo problema è "Faux Columns", ma è necessario modificare il layout un po 'per questo.

+0

Questo è un bene ma richiederebbe utilizzando Photoshop che è non proprio il mio vicolo: p – Brad

+0

Solo perché un'abilità non è "il tuo vicolo" non impedisce che sia una buona soluzione. L'editing di immagini di base è una competenza fondamentale per lo sviluppo web – Gareth

+0

Beh, non è nemmeno quello che stavo chiedendo. Mi stavo chiedendo se il CSS ha una capacità integrata per aggiungere e sottrarre valori di diversi tipi. È una buona soluzione però. – Brad

20

Sì. CSS3 ha la funzione calc(). Funziona nelle versioni correnti della maggior parte dei browser (http://caniuse.com/calc).

height: calc(100% + 250px); 

Demo: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%; 
} 

uscita:

enter image description here

+0

Grazie, lo esaminerò. È bello sapere che questo tipo di cose è stato incluso nel CSS3. – Brad

+0

c'è anche un prefisso venditore webkit – Burntime

Problemi correlati