Morphing Devices

An experimental morphing devices slideshow with CSS Transitions for showcasing responsive web design screenshots.

Morphing Devices

Today we want to share an experimental “morphing” slideshow with you. The idea is to transition between different devices that show a screenshot of a responsive website or app by applying a “device class”. By using the same elements and pseudo-elements for all the devices, we can create an interesting morph effect. We will control the classes and the switching of the image with some JavaScript. We’ve also added an option for autoplaying the slideshow and for rotating some of the devices.

Please note that this is very experimental and only works as intended in browsers that support the respective CSS properties.


There are four devices which we will use to display different screenshots of responsive designs. Two of them, the tablet and the smartphone, can also be rotated. What we do is to interchange the classes depending on the device and since the device has transitions defined, we’ll see a morphing effect. Note that we also animate pseudo-elements here which might not be supported in all browsers (especially mobile browsers).


The rotation on the last two devices happens by adding another class which will rotate the device 90 degrees.


The images are changed by adding the new picture and fading out the previous one. This also creates a morphing effect where the image gets stretched or squeezed to accomodate the new size.


The better technology to choose for this kind of effect is undoubtedly SVG, but for practicality reasons we started this experiment with CSS and JS.

We hope you like and enjoy it and get inspired!

Tagged with:

Manoela Ilic

Manoela is the main tinkerer at Codrops. With a background in coding and passion for all things design, she creates web experiments and keeps frontend professionals informed about the latest trends.

Stay in the loop: Get your dose of frontend twice a week

πŸ‘Ύ Hey! Looking for the latest in frontend? Twice a week, we'll deliver the freshest frontend news, website inspo, cool code demos, videos and UI animations right to your inbox.

Zero fluff, all quality, to make your Mondays and Thursdays more creative!

Feedback 23

Comments are closed.
  1. Oh man, I swear I had a similar demo in mind πŸ˜€ I’m too slow, it’s awesome you did it, Manoela, excellent work I love it! πŸ™‚

  2. Hi, I’ve always been fascinated,about your designs and concepts. And this is no exception.

  3. Yeah ! Thanks MaryLou #Goodwork … Very helpfull to present responsive webdesign

  4. its really nice… do u have any tutorials like soundcloud com or andy hintss….. plz…..

  5. I’m biggest fan of this blog. Again i’ve download one more tutorial.Thank you.

  6. Very slick!
    I’d recommended saving those screenshot jpgs as 8bit pngs.. they’ll likely turn out much smaller AND look much better

  7. Another great effect. Thanks a lot for such a nice tutorials. πŸ™‚

  8. Hello Mary,

    A Small Question, Can i use URL’s for images? I want show responsive designs with URL its possible ?

  9. Excellent work (as always). Loving the stuff you are all doing here at Codrops. Just waiting for the right opportunity to use this is a project.

  10. Hi,

    Really nice concept, well executed without relying on JQuery. One point, you mention caveats about this not being widely supported especially on mobile devices, fine, understood. But surely these devices would be where one may want to use a showcase like this, to, erm, illustrate that the site being viewed works perfectly well on desktop as well. I understand the concept and that accelerated CSS transitions would be the best choice in the absence of SVG (lack of reliable support), but without a fallback this is a concept and that only. Having said that a fallback would have to ignore some of the functionality and would still be MAHOOOOSIVE.