how on earth do I make this responsive?

any thoughts on how I could make this info readable on smaller screens? Thanks!
Melody ScottAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Alexandre SimõesManager / Technology SpecialistCommented:
You're using tables, and mixing tables and Responsive in the same sentence doesn't work :)

As a design suggestion I can tell you to make it vertical on small screens. This means transforming all your columns into rows and the user just have to swipe down.

To achieve this easily you should use a CSS grid system like the one proposed by Bootstrap, Foundation or the old Grid960.
All these will adjust "automatically" to your screen size. I've put automatically within quotes because you need to write your html in order to comply with the grid system rules. After that, it's really automatic.
Julian HansenCommented:
I would migrate to a responsive template solution like Bootstrap.

Having said that these two posts might help

A fairly comprehensive step-by-step article that discusses the problem and solution

This site lists 10 different approaches to responsive tables
Move the class  table-responsive to a DIV instead of the table
<div class="table-responsive">
  <table class="table">

Open in new window

For the reference:
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Alexandre SimõesManager / Technology SpecialistCommented:
@lenamtl: I don't think Bootstrap's table-responsive will work for him.
With his amount of columns it will just display the horizontal scroll bar.

With that amount of data (columns) it's necessary to rethink the layout on smaller devices.
For large table I'm using extra pluging that are compatible with Boostrap
Bootstrap Table see Large Columns example

This allow to display extra information with a toggle (I prefer this solution) using Footable
or to select only the column user want to see using column selection using Bootstrap Table

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Alexandre SimõesManager / Technology SpecialistCommented:
Still, don't hit me (too much at least) but these are elastic solutions, not responsive.

A Responsive solution is one that truly transforms itself in order to give the best experience to the user based on the available space.
An Elastic solution just makes sure everything fits in the screen, doesn't really matter if it looks good or readable in all form factors.

Anyway, if the elastic is good enough (or if the client didn't pay enough for the responsive version), elastic is way easier and faster.
Well using Footable it is based on same logical to set @media and breakpoint, this is the same logical of Bootstrap.
Anyhow I do not want to argue, I'm using this from long time and never add any complains.

Also if you want to add feature like paging,filtering it's going to be easier.
Melody ScottAuthor Commented:
Thanks to all! I'm using Bootstrap for this site, something I should have mentioned at first. I'll have a look at what you propose.  I guess I could base it all on a bootstrap grid, it's an awful lot of information to scroll down through.
Melody ScottAuthor Commented:
fooTable looks interesting, I'll give that a try. I may need a bit of help with that, may I ask questions about it here?
Yes no problem, I guess..
There are a lot of demo pages on their site.
Melody ScottAuthor Commented:
OK... I feel I have this set up correctly, but it isn't working.

The breaks I have might not ultimately be the ones I use, but right now I don't see anything on mobile.
greetings mel200, , I can not suggest a "easy" or straightforward way to have your second Table as -
     <table class="table table-responsive stats" cellspacing="0">
become responsive, because you have set it up as an "Old Fashion" row and column display. Since this has eleven columns and twelve rows, there is no way to maintain that row-column ordering in a narrow phone display and get maybe get 4 or 5 columns, but no way to have 11 columns that are readable.

It has helped me greatly, to abandon the old thinking in web page design, and Start with a narrow phone view, to begin my web site development, build a narrow user friendly page FIRST, with "hidden" extra information elements, and have a "Touch Point" to show the extra info as pop-ups or slide ons, and then with CSS or bootstrap look at it in a tablet and add larger content, maybe more columns, and then finally look at it in larger laptop view, and have more content initially shown, with bigger size elements and expanded arrangement.

For the nutritional amounts  you have in the second table, I might not use a table, But I would start with a 4 column view, I'd move the Kcal amount under the meal for that title column like -
    Meal 1:
  267 Kcal
and to it's right, just display the three components values columns-

                     Protein   Carbs    Fat
    Meal 1:        30         23         6
  267 Kcal


- - - - - - - - - -
then above the display have text that says, "touch Meal row to see more nutritional component values"
and then when touched, it will show a "Pop-Up" <div> above the row, with the rest of the values like Chol and Fiber

You should use <thead> <tr> <th> and set the data-hide only to this
        <th>Column always shown</th>
        <th data-hide="phone,tablet">Column hidden on phone and tablet</th>
        <th data-hide="all">Column always hidden</th>

Open in new window

Check the Core Data Attributes section in the demo.

Here is the js code I'm using

$(function () {
          $('table').bind('footable_breakpoint', function() {

Open in new window

PS do not set width to columns or you will have problems
Melody ScottAuthor Commented:
Ok, thanks, everyone. I think this may be over my head. I will hire someone to do what I need. But the FootTable is the correct thing, so I'll award points.
Melody ScottAuthor Commented:
This will work well, thanks!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.