2012-01-06 9 views
29

Me gustaría calcular el ancho de child-container (div etc) en porcentajes dependiendo del contenedor principal con LESS CSS.¿Cómo calcular porcentajes en MENOS CSS?

Estoy usando la forumula de Ethan Marcotte: target/context = result.

contenedor

Padres: 620px
contenedor secundario: 140px

estoy usando este cálculo:

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

Sin embargo, la salida es:

div.child-container { 
    width: 0.2258064516129; 
} 

me gustaría mover el decimal señale dos dígitos y agregue el%, como este:

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

Cualquier sugerencia muy apreciada.

+0

'100% == 1', por lo que las matemáticas tienen sentido. – zzzzBov

+2

La salida me parece correcta dada su entrada. – scottheckel

+0

@zzzzBov Gracias, traté de usar * 10000% para mover el punto de vista y funciona, pero de alguna manera el signo% se elimina cada vez. Sin embargo, la muestra inferior es lo que necesito como salida analizada. – HappyElephant

Respuesta

45

De acuerdo con la LESS CSS website, es necesario cambiar el orden de la ecuación

La salida es más o menos lo que espera-MENOS entiende la diferencia entre los colores y las unidades. Si una unidad se utiliza en una operación, como en:

@var: 1px + 5; 

MENOS utilizará esa unidad para la final output- 6px en este caso.

Debería ser:

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

Gracias @zzzzBov, ¡lo has resuelto por completo! – HappyElephant

21

Tal vez la función percentage no existía cuando OP estaba pidiendo, pero para futuras referencias que añadir esta respuesta.

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

Solo para obtener información. Intenté 'porcentaje ((@ index/10) - 0.01);' y no funcionó Tuve que agregar más paréntesis 'porcentaje (((@ index/10) - 0.01))' I I Estoy diciendo porque quizás alguien quiera hacer más matemáticas "difíciles" que yo, no solo una división. –

Cuestiones relacionadas