Responsive tables


I’ve recently been doing battle with some rather large html tables trying to make them ‘fit’ in my lovely ‘responsive’ design. There are some really cool options available to you depending on the kind of data you want to show. I highly recommend checking out the great collection of approaches put together by Simon Elvery which can be found at his Reponsive Tables demo page. Unfortunately, for various reasons, I ended up having to come up with a different solution. It was so simple and effective that I’m going to share it here.

CSS is Awsome

As we all know, css is awesome but in this case it actually is. The solution I was looking for needed to keep the structure of the table while not breaking out the bounds of the design. The solution was to effectively stop the table being responsive. Essentially wrap the table in a div within the area it should inhabit. Make sure the div width is 100% and set the overflow-x to scroll. So far so easy. The final ‘trick’ is to set a min-width on the table it’s self. This ensures that when view port is too narrow to support the width of the table, rather than the table breaking out of its bounds you get a horizontal scroll (on a PC) and a touch friendly table on other devices (I’ve only tested this on an iPad and iPhone).

I’ve put together a very rough example of this approach using the handy (jsfiddle for css and html).

You can also wrap these rules in a media query so that the scrolling action only becomes available when the widow shrinks below a certain width.

Use Twitter Bootstrap or some other CSS framework

If you are starting from scratch then I would suggest using twitter bootstrap 3 as they have a very similar solution that is much slicker than my version. If your doing the css your self or framework does not have a solution for responsive tables then you may want to try my approach.


css, responsive

You may also like

CQRS + Event Sourcing – Step by Step

CQRS + Event Sourcing – Step by Step

Are You Making These 10 DDD Mistakes?

Are You Making These 10 DDD Mistakes?
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}