10 replies
  • |
I've just read an SEO article that says one should use CSS to define page layout rather than standard HTML table tags. I've been digging a little deeper and some other articles say that CSS tables still have some bugs and not all browsers support them as it's still relatively new technology.

The sire I'm currently working on (chrisjamesebooks.com) has quite alot alot of tables and nested tables, as that's basically all I know how to do at the moment.

I guess basically my question is, should I be using CSS to define my page layout instead of HTML tables? Is it going to make a massive difference to google rankings/page speed etc?

Any advice greatly apppreciated!
#css #html #tables
  • Profile picture of the author Peggy Champlin
    I'm a web designer and I always use CSS layers rather than HTML tables on the sites I create. There are several reasons for this.

    1. The HTML pages are much cleaner - that is, there are WAY fewer tags on it. This allows the page to load much faster than one with lots of nested tables. To your point, it also gives you a page with a much higher content to tags ratio. What I mean is that much more of the page is your content rather than HTML table tags. I've recreated some clients' sites where the content has remained exactly the same, but the character count on the page is cut in half! This means the search engine bots have an easier time finding your content and keywords and wade through fewer tags.

    2. It's much easier to maintain a site using CSS layout rather than HTML. It's very easy to make changes that affect the whole site in one place - the style sheet. The CSS layers tend to have a more flexible way of describing layout whereas HTML tables - especially nested ones - can be pretty rigid, sometimes making it hard to change a bit of the layout without messing up everything else.

    3. As a pragmatic purist, I just like using CSS and having nice, clean pages. :-)

    As far as browser support goes, there are some aspects of the official CSS standards that aren't implemented in all browsers, or implemented the same way. But plenty is implemented that allows the use of CSS layout.

    Using CSS for formatting was an easy adjustment. Starting to use it for layout I found a little tougher to get good at. If you decide you want to convert your site, I could help if you need it.

    Peggy Champlin

    Get a Minisite to Sell Your Products and Services!

    {{ DiscussionBoard.errors[653261].message }}
  • Profile picture of the author biggerdunk
    Many thanks for your reply Peggy,

    I've been wanting to clean up my code for a while so I definately think I'm going to have learn start learning CSS! I already use it for text formatting so I know a little.

    Is it still possible to make nested tables in CSS?

    {{ DiscussionBoard.errors[654370].message }}
  • Profile picture of the author Mark Brian
    Here's a general rule of thumb:

    If what you like to do is part of the layout, then it should be in CSS. If it's tabular data, for example: list of stuff with lots of details, columns, rows, etc., you should use tables.

    {{ DiscussionBoard.errors[654377].message }}
  • Profile picture of the author jamesmcdonald
    Yeah like Peggy Champlin said, CSS is so much cleaner to use.
    {{ DiscussionBoard.errors[654795].message }}
  • Profile picture of the author mywebwork
    In the early days of web design (i.e. in the early 1990's) we used tables to format content on pages simply because there was no other choice. It was a smart "band aid" solution that made up for the shortcomings of the then-current HTML specifications.

    Now we have CSS, actually it's been around for decades but it's only been in the last 8 years or so that all the major browsers have supported it properly. Yes there are still quirks, especially with Internet Explorer, but they are minimal and won't affect most layouts.

    You gain a lot of advantages with CSS. Your page can be setup to be very SEO-friendly and <div> and <span> tags allow for some advanced coding including dynamically changing content without reloading the page. Using CSS you can also format the page to display differently when printed as to when viewed on the screen.

    Bottom line - CSS is for formatting pages. Tables are for displaying tabular data.

    {{ DiscussionBoard.errors[655469].message }}
  • Profile picture of the author JohnS
    I would recommend this book if you're looking to make the jump:

    The Zen of CSS Design: Visual Enlightenment for the Web

    It's a few years old now, but the principles are still valid. It covered a lot of the problems I was running into at the time, and really helped me to transition from my 1990s habits to more CSS-oriented practices.
    {{ DiscussionBoard.errors[655997].message }}
    • Profile picture of the author Peggy Champlin
      When using CSS for layout, you use <div> tags, known as layers. It is possible, and common, to nest layers.

      Peggy Champlin

      Get a Minisite to Sell Your Products and Services!

      {{ DiscussionBoard.errors[656329].message }}
      • Profile picture of the author viane
        I would prefer to go with css as its clean and fast loading html tables takes time to load.
        {{ DiscussionBoard.errors[657218].message }}
  • Profile picture of the author muzzi
    Div's, spans and CSS have actually been around for years The issue isn't that they aren't supported, the issue is just that it's comparatively much harder to get the site looking identical in different browsers (specifically Internet Explorer)

    As has already been mentioned, there are numerous benefits of moving over the divs for a site layout. Aside from the far better text to code ratio (better rankings) and more semantic code (even better rankings) other benefits include far more flexibility and much easier updating (because you can change the css file once and have it reflected on all your pages) quicker load times for your visitors and of course bringing yourself up to date with technology.

    Initially there will be a learning curve, but this is an Internet Marketing forum, I would stick to the marketing and get a web designer to do the dirty work for you. They will do a better job in less than half the time, so you can spend your time doing what you do best.

    Also, it looks like you're hand coding that web site. Installing a simple CMS will make updating it much easier and will give you instant access to hundreds of free and pre-written plugins that will assist in your Internet Marketing efforts. (RSS feeds which will help with your seo and repeat visitors, email list plugins and more)
    {{ DiscussionBoard.errors[657240].message }}
  • Profile picture of the author Richard Whyte
    One aspect that has not been mentioned here is that using HTML Tables for general formatting is scene in the designer world as old hat.... AND as we continue the drive to more and more mobile devices, CSS is the way to go for consistent layout.

    These little devices want you to use CSS rather than have Nested Tables inside of Nested Tables....

    CSS is powerful in that not only can you layer your images and content, you can also do things like use a single image for an entire menue system that has buttons for Hover, On page and Off page.... This alone is a great feature as you no longer have to have three images for each button.....

    If you have the time, spend some on your education and learn CSS as this will continue to pay you dividends in your design and layout skills.

    Have a Great Day!
    {{ DiscussionBoard.errors[657257].message }}

Trending Topics