Otra función de transformación 2D es el escalado, esta función permite agrandar o reducir el tamaño del elemento. La primer sintaxis que podemos utilizar es la siguiente:
Elemento {
transform: scale(valorx ,valory);
}
El primer parámetro indica la escala para x (con el valor 1 el elemento queda como está, con un valor mayor crece y con un valor menor decrece), el segundo parámetro es para la escala en y.
Por ejemplo si queremos que sea del doble de ancho y la mitad de altura luego será:
Elemento {
transform: scale(2 ,0.5);
}
Un recuadro escalado con 20% menos de ancho y 20% más de alto (definiendo el punto de origen en el vértice superior izquierdo:
#recuadro1{
-ms-transform: scale(0.8 , 1.2);
-webkit-transform: scale(0.8 , 1.2);
-moz-transform: scale(0.8 , 1.2);
-o-transform: scale(0.8 , 1.2);
transform: scale(0.8 , 1.2);
-ms-transform-origin: left top;
-webkit-transform-origin: left top;
-moz-transform-origin: left top;
-o-transform-origin: left top;
transform-origin: left top;
border-radius: 20px;
background-color:#ddd;
width:200px;
padding:10px;
}

Si tenemos que escalar solo en x o en y podemos utilizar alguna de las dos funciones scaleX o scaleY.
Elemento {
transform: scaleX(2);
}
Elemento {
transform: scaleY(0.5);
}
Otra posibilidad es utilizar un valor negativo, lo que nos permite tener una reflexión del elemento. Por ejemplo un recuadro con reflexión en y:
#recuadro2{
-ms-transform: scale(1.20 ,-1);
-webkit-transform: scale(1.20 ,-1);
-moz-transform: scale(1.20 ,-1);
-o-transform: scale(1.20 ,-1);
transform: scale(1.20 ,-1);
border-radius: 20px 40px 40px 20px;
background-color:#aa0;
width:200px;
padding:10px;
margin-top:70px;
}
Cuya imagen es:
