Facebook uses display: table for their modal so that they can center it vertically without worrying about JS (if the height is variable and/or unknown) or negative margins. As far as making it responsive, you just need to work on your styles a bit. Check out the image detail modal I made for Stipple.com (just click on an image in the feed). This implementation leans on Backbone.js a little bit, but for the most part, the markup and styles make up a majority of the library. The actual plugin just builds the dom elements, handles events, and provides callbacks.
Thanks for sharing this.<p>On iPad, starting portrait and rotating landscape redraws but same size (too small). Starting landscape and rotating portrait tries to redraw same size (too large) but breaks layout, pushing text below image.<p>I feel as though portrait mode on iPad might look better with white box below the otherwise extremely tiny image.<p>Looks fantastic on desktop Safari.