<table rules="">
- Attribute of
- Create An HTML Table Quickly & Easily With Our Code Example
- What does
<table rules="">do? - Was used to specify the display of internal borders between rows and colums. This attribute has been deprecated. Use CSS to style table borders instead.
Contents
The RULES Attribute
RULES, an HTML 4.0 attribute, indicates if there should be internal borders in the table. We’ll go over each of the values of RULES and demonstrate how they are used. RULES and FRAME have an annoying way of changing each other’s defaults. To simplify your life, here’s a rule of thumb: if you use RULES also use FRAME and BORDER. It’s easier to avoid getting confused.
The NONE Value for the RULES Attribute
RULES=NONE means that there are no inside borders. RULES=NONE is the default if you don’t use BORDER or set it to zero, but otherwise must be explicitly stated to have no inside borders. Note that currently Netscape does not recognize RULES.
<TABLE BORDER=2 RULES=NONE FRAME=BOX> When applied to a table, that value gives us this result:
| Name | Food |
|---|---|
| Starflower | stir fied tofu |
| Miko | vegetable rice soup |
| Andy | hummus |
| Ping | french toast |
The ALL Value for the RULES Attribute
RULES=ALL indicates that all the internal borders should be visible. RULES=ALL is usually used in conjunction with FRAME=VOID so that there are outer borders but no inner borders.
<TABLE BORDER=2 FRAME=VOID RULES=ALL> When applied to a table, that value gives us this result:
| Name | Food |
|---|---|
| Starflower | stir fied tofu |
| Miko | vegetable rice soup |
| Andy | hummus |
| Ping | french toast |
The COLS Value for the RULES Attribute
COLS indicates that there should be borders between the columns but not between rows.
<TABLE BORDER=2 RULES=COLS FRAME=BOX> When applied to a table, that value gives us this result:
| Name | Food |
|---|---|
| Starflower | stir fied tofu |
| Miko | vegetable rice soup |
| Andy | hummus |
| Ping | french toast |
The ROWS Value for the RULES Attribute
RULES=ROWS indicates that there should be borders between rows but not between columns.
<TABLE BORDER=2 RULES=ROWS FRAME=BOX> When applied to a table, that value gives us this result:
| Name | Food |
|---|---|
| Starflower | stir fied tofu |
| Miko | vegetable rice soup |
| Andy | hummus |
| Ping | french toast |
The GROUPS Value for the RULES Attribute
RULES=GROUPS allows you to put borders between groups of table cells. There are two ways cells can be grouped: by row and by column. Let’s go over each of them. Note that currently Netscape does not recognize RULES.
Grouping By Row
To group by row use the <THEAD ...>, <TBODY ...>, <TFOOT ...> tags. <THEAD ...> indicates the header rows of the table, <TBODY ...> indicates the main body of the table, and <TFOOT ...> indicates the bottom rows. So, for example, this code creates a table with three groups. Borders appear just between groups:
<TABLE BORDER=2 RULES=GROUPS> <THEAD> <TR><TH>Name</TH><TH>Food</TH><TH>Price</TH></TR> </THEAD> <TBODY> <TR><TD>Starflower</TD><TD>stir fied tofu</TD><TD>5.95</TD></TR> <TR><TD>Miko</TD><TD>vegetable rice soup</TD><TD>4.95</TD></TR> <TR><TD>Andy</TD><TD>hummus</TD><TD>3.95</TD></TR> <TR><TD>Ping</TD><TD>french toast</TD><TD>5.95</TD></TR> </TBODY> <TFOOT> <TR><TH COLSPAN=2>Total</TH><TD>20.80</TD></TR> </TFOOT> </TABLE> Here’s how that table renders:
| Name | Food | Price |
|---|---|---|
| Starflower | stir fied tofu | 5.95 |
| Miko | vegetable rice soup | 4.95 |
| Andy | hummus | 3.95 |
| Ping | french toast | 5.95 |
| Total | 20.80 | |
Grouping By Column
To group by column use the <COLGROUP ...> tag and its SPAN attribute. <COLGROUP ...> takes a little getting used to because it doesn’t actually go around any table cells. It goes at the top of the table code where it sets rules about the table columns including which are grouped together. <COLGROUP SPAN="..."> to indicates how many columns are in each group. If you leave SPAN out then it is assumed the group has just one column. So, for example, the following code says that the first column is in a group by itself and the three after that are together in a group. Notice that <COLGROUP ...> requires an end tag. Borders will go only between the groups:
<TABLE BORDER=1 CELLPADDING=4 RULES=GROUPS FRAME=BOX> <COLGROUP></COLGROUP> <COLGROUP SPAN=3></COLGROUP> Dropping those lines of html before the table contents produces this table:
| Weekday | Date | Manager | Qty |
|---|---|---|---|
| Monday | 09/11 | Kelsey | 639 |
| Tuesday | 09/12 | Lindsey | 596 |
| Wednesday | 09/13 | Randy | 1135 |
| Thursday | 09/14 | Susan | 1002 |
| Friday | 09/15 | Randy | 908 |
| Saturday | 09/16 | Lindsey | 371 |
| Sunday | 09/17 | Susan | 272 |
Values of the rules Attribute
| Value Name | Notes |
|---|---|
| all | |
| cols | |
| groups | |
| none | |
| rows |
All Attributes of table Element
| Attribute name | Values | Notes |
|---|---|---|
| frame | hsides void vsides | The frame attribute was used to define the visible borders of a table. It is now deprecated and should no longer be used. |
| height | ||
| hspace | ||
| rules | all cols groups none rows | |
| summary | ||
| width |