CSS Transform scale, don't scale child element

Matt Coady picture Matt Coady · Nov 21, 2014 · Viewed 34.8k times · Source

If I have a div with a few child elements and it's being css transform scaled. I've got one child element which I don't want to scale

Can this be done with css only? Without changing the html or using js.

Answer

Reinier Kaper picture Reinier Kaper · Nov 21, 2014

Unfortunately this is not possible.

You roughly have two other options though:

  1. Scale all the other elements, excluding the one you don't want to scale (but this won't scale the container).
  2. Scale the container and re-scale the element you don't want to scale (but this will probably make it look blurry).

Examples:

// Example 1.
span:not(:last-child) {
    display: inline-block; /* You can't scale inline elements */
    transform: scale(2);
}

// Example 2.
#parent{
    transform: scale(.5);
}

span:last-child{
    transform: scale(2);
}