2012-01-06 10 views
29

Vorrei calcolare la larghezza del contenitore figlio (div ecc) in percentuale a seconda del contenitore padre con LESS CSS.Come calcolare le percentuali in LESS CSS?

Sto usando il forumula di Ethan Marcotte: target/context = result.

contenitore principale

: 620px
contenitore figlio: 140px

Sto usando questo calcolo:

div.child-container { 
    width: (140/620)*100%; 
} 

Tuttavia l'output è:

div.child-container { 
    width: 0.2258064516129; 
} 

Vorrei spostare il decimale punta due cifre e aggiungi%, in questo modo:

div.child-container { 
    width: 22.58064516129%; 
} 

Qualsiasi suggerimento molto apprezzato.

+0

'100% == 1', quindi la matematica ha senso. – zzzzBov

+2

L'output sembra giusto per me dato il tuo input. – scottheckel

+0

@zzzzBov Grazie, ho provato a usare * 10000% per spostare il punto decimale e funziona, ma in qualche modo il segno% viene rimosso ogni volta. L'esempio in basso è quello che mi serve come output analizzato. – HappyElephant

risposta

45

Secondo il LESS CSS website, è necessario modificare l'ordine della vostra equazione

L'uscita è più o meno quello che ci si aspetta-LESS capisce la differenza tra i colori e le unità. Se un'unità viene utilizzato in un'operazione, come in:

@var: 1px + 5; 

MENO utilizzerà tale unità per la finale output-6px in questo caso.

Dovrebbe essere:

width: 100%*(140/620); 
+0

Grazie a @zzzzBov, l'hai completamente risolto! – HappyElephant

21

Forse la funzione percentage non esisteva quando OP chiedeva, ma per riferimento futuro aggiungo questa risposta.

div.child-container { 
    width: percentage(140/620); 
} 
+0

Solo per informazioni. Ho provato la percentuale ' ' ((@ indice/10) - 0,01) ' e non ha funzionato ho dovuto aggiungere più parentesi' 'percentuale (((@ indice/10) - 0.01))' I lo sto dicendo perché forse qualcuno vuole fare una matematica più "difficile" come ho fatto io, non solo una divisione. –

Problemi correlati