User:LeeA/sandbox change4

tables 7-9

Table placement
So far we have talked about the creation of tables and how to make them pleasant to look at. However, we need to look at how they are placed on a page and how they affect other items on the page. Here is an example using our demonstration table and a width of 50% and our Lorem ipsum text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis. What if we want the table on the right side of the page?
 * When the table is placed it usually shows up on the left side of the page under the last item added.
 * If other items are added after the table they will appear below it.
 * NOTICE the table's default position is on the left side of the page and any text appears below.
 * NOTICE even though there is room on the right side of the table the text does not wrap around the table.

Text wrapping - left side of table
float: right Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis. Here is the coding:  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis.
 * Here's a new attribute: float: right .  This will move the table to the right side of the page.  Now pay attention to what happens to the text:
 * NOTICE the table is on the right side of the page.
 * NOTICE the text wrapped around the left side of the table.

Text wrapping - right side of table
What if we want the text to wrap around on the right side of the table? Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis. Here is our table with a 10 pixel margin on the right side: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis.
 * We then use float: left .  Even though the table is defaulted to the left, this float:left will cause the text to wrap around on the right side of the table.
 * NOTICE now you can see there is no space between the text and the right side of the table.  If you thought you could fix that by installing margin-right:  10px in the beginning table tag, you were right.

Here is the coding:  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis.

No wrapping
clear: both What if you don't want the text to wrap around your table regardless where you place it?
 * Enclose the text in either a paragraph or div tag.
 * Then install this attribute in the opening paragraph or div tag:
 * 

Tables in the middle
margin: auto

What if you want the table to be in the middle of the page or the spacing on either side of the table the same? Here's what that looks like: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet iaculis metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce elementum efficitur faucibus. Curabitur eleifend quis ligula ac ullamcorper. Curabitur eget suscipit turpis.
 * Use the margin: auto attribute:

The coding in the opening table tag is:
 * {| style="border:1px solid red; width:50%; margin: auto ; "


 * NOTICE the text does not wrap around the table on this attribute and there is no space between the text and the bottom of the table.

Try these out


 Exercises Check your answers
 * Place our demonstration table on the right side of the page.
 * Place our lorem ipsum paragraph under the table.
 * Place a 10 pixel space between the table and the text.

 Quick Quiz
 * Text will always float up to the right side of a table when placing a table on the page.
 * A. True
 * B. False


 * Text will float when you place a table on the right side of a page.
 * A. True
 * B. False


 * You cannot place a table in the middle of the page.
 * A. True
 * B. False

Check your answers

Table sorting
Sometimes tables can get really long and finding what you are looking for can be hard particularly if they are not in any kind of order such as alphabetical. To help with this we can use a "class" called sorting. This will allow us to sort alphabetically any particular column.  {| class="sortable" style="border:1px solid red: width:100% ... Here is what the table will look like with the sorting class in the beginning heading tags:
 * It is placed in the beginning table tag like so:
 * You place the "class" before the inline style code.
 * The class has to have a space to separate it from inline style codes.


 * NOTICE small arrows pointing up and down have appeared alongside the headings. These arrows appear on the first row regardless of the kind of row it is.
 * When you click the arrows the first time you will see the columns arrange themselves in alphabetical order and only one arrow remains.
 * If you click the remaining arrow, the columns arrange themselves in reverse alphabetical order.

Rows stay together
This is important. If you have a table of names and addresses, you will want the addresses to stay with the names if they were sorted alphabetically. This sorting attribute allows you to add items without having to worry about the order.
 * PLEASE NOTICE CAREFULLY the items in the rows stay with the item in the column that you have alphabetically rearranged. It does not matter which column you click.

Try these out


 Exercises Check your answers
 * Take our Healthy Foods table and add another row.
 * Now make the table sortable.

 Quick Quiz
 * When you click the sorting icon, the sorting is permanent.
 * A. True
 * B. False


 * When you add items to a table, you need to insert the item in the table where it is supposed to go if you want your table in alphabetical order even with the sorting class applied.
 * A. True
 * B. False


 * Sorting will revert back to the original order if you leave the page the table is on.
 * A. True
 * B. False

Check your answers