I'm Dudley Storey, the author of Pro CSS3 Animation. This is my blog, where I talk about web design and development with HTML, CSS and SVG. To receive more information, including news, updates, and tips, you should follow me on Twitter or add me on Google+.

my books

Pro CSS3 Animation, Apress, 2013

Using SVG with CSS3 and HTML5, O'Reilly, 2017

my other blogs

Massive Head Canon: Intelligent discussion of movies, books, games, and technology.

my projects

The New Defaults — A Sass color keyword system for designers. Replaces CSS defaults with improved hues and more memorable, relevant color names.

CSSslidy — an auto-generated #RWD image slider. 3.8K of JS, no JQuery.

Advanced CSS 3D Carousel

An improved version of a CSS 3D gallery

The latest iteration of the CSS 3D Carousel is much improved over the version I demonstrated a few months ago, although it still has a ways to go. The code is a little complex to explain in a single blog post, although I do plan to share aspects of its development in future articles. I’ve left the complete code at CodePen for you to play with, if you’re interested.

So what’s different in this version?

  • Each image is contained in its own separate figure, with its own caption. (mouseover the forefront image to see its caption).
  • The distribution of carousel images is made entirely in JavaScript, which handles an arbitrary number of elements: try removing some of the figures from the CodePen version, for example.
  • Click-to-zoom is enabled on the foreground image.
  • Keyboard controls are available: cursor right and left to rotate the carousel, Z to toggle zoom on the foreground image, and C to toggle its caption.

Improvements to come:

  • I’m still struggling with a bug in desktop and mobile Safari, which displaces the transform-origin-z coordinate for the gallery, pushing it forward in the browser. I’m hoping that this will be fixed in iOS / Safari 7. (Update: it wasn’t, unfortunately).
  • Similarly, IE 10+ displays the carousel incorrectly due to its lack of support for transform-style.
  • Display at small viewport sizes needs to be improved; I’ll add swipe gesture support once the Safari and IE display problem are licked.
  • As the number of images in the gallery increases, the radius of the carousel should increase to fit them all.
  • It’s my goal to turn the CSS 3D Carousel Gallery into a JQuery plugin: this will mean creating display fallbacks for earlier versions of IE and older browsers.

Photographs used in this gallery example are of ballet dancers competing in the IFBB European competition photographed by Jack Devant, licensed under Creative Commons. Play with this code on CodePen

This site helps millions of visitors while remaining ad-free. For less than the price of a cup of coffee, you can help pay for bandwidth and server costs while encouraging further articles.