There has been some discussion in the past about how or when to use tables in web development. Though, the conclusion is the same: when you’re dealing with tabular data, tables are absolutely required.
Designing a table is a challenge - and here I’m not talking only about the way it looks. It’s mostly about how easy is your table to read. If your table isn’t easy to scan, usually users get annoyed as they lose focus when trying to find the right column and row.
Having said that, today we’re going to create beautiful and practical tables styled using CSS. Also, jQuery will be used to create fallbacks for older browsers.
What’s so cool about these tables?
In this article, you’ll see how CSS3 and tables can work together to create some cool and usable results.
- Rounded corners with no images
- Very easy to update - there are no extra CSS id’s or classes added
- User-friendly and easy to read
Rounded table corners
Here’s the trick: while
border-collapse’s default value is
separate, we need also to set the
For IE7 and lower, we need to add a specific line, in order to create a good fallback for the tables.
Then, we just need to round some corners:
jQuery hover fallback
You may already know that when it comes about IE6,
:hover does not actually work on non-anchor elements.
So, to make it work, instead of the CSS solution we’ve used:
… you could use some jQuery code to simulate the hover effect:
… and here are also the styles for the CSS
The above is basically the
.bordered tr:hover duplicate.
jQuery zebra fallback
To create the zebra effect, using CSS3, we’ve selected the even rows within the
Now, the above selector is a CSS3 one - so no support for older browsers. Below you’ll see how we may target and style the even rows for all browsers:
The tables already degrade very nice on older browsers, so it’s up to you if you want to use also the above jQuery solutions. It’s all about the visitors’ audience you’re targeting.
That’s pretty much it!
Thanks for reading this article!