CSS transition from 0px width to 100% width

To animate a transition with CSS, you need to set transition to the property that is changing. You’ve set transition: transform 1s;, which will animate any change to the transform property, but the transform property isn’t changing between the two states. The property that is changing is left, which changes from 100% to 0. So that’s the property you need to transition:

transition: left 1s;