styel as rules="all"

R

rf

rf said:

Hmmm. Having read your *other* posts on this matter I now understand what
you are talking about.

If you had said "Is there a CSS proterty that equates to the rules=all
attribute/value of the <td> element" it may have been clearer.

No not really. Have a look at
http://www.w3.org/TR/REC-CSS2/tables.html#borders

This is the bit that talks about borders in CSS "tables". In any case there
is a good chance that IE will not suport what you want.

What is wrong with using the rules attribute anyway. Doesn't it do what you
want?
 
J

Jukka K. Korpela

rf said:
Hmmm. Having read your *other* posts on this matter I now understand
what you are talking about.

What other posts on this matter?
If you had said "Is there a CSS proterty that equates to the rules=all
attribute/value of the <td> element" it may have been clearer.

Well, it would have been odd, since there is no such attribute for <td>.
This is the bit that talks about borders in CSS "tables".

What rules="all" really means is that it specifies that all _cells_ have
borders. In that sense, it is sufficient to set a border for all th and td
elements. The details depend on what you really want. There is no way in
general to simulate the effect of rules="all" as such, since the borders
you get by using HTML alone are of some unspecified default kind. In CSS,
you can and must be more specific, such as
th, td { border: solid 1px #555; }
In any case
there is a good chance that IE will not suport what you want.

In this case, things might work even on IE.
 
T

Toby Inkster

tshad said:
Is there a style that equates to rules="all"?

I think you probably want something like:

table {
border: 2px silver outset;
empty-cells: show;
}
th, td {
border: 2px silver inset;
}
 
T

tshad

rf said:
Hmmm. Having read your *other* posts on this matter I now understand what
you are talking about.

If you had said "Is there a CSS proterty that equates to the rules=all
attribute/value of the <td> element" it may have been clearer.

No not really. Have a look at
http://www.w3.org/TR/REC-CSS2/tables.html#borders

This is the bit that talks about borders in CSS "tables". In any case
there
is a good chance that IE will not suport what you want.

What is wrong with using the rules attribute anyway. Doesn't it do what
you
want?

Nothing wrong with using it. I just have to remember to put in the proper
tables.

I was trying to use CSS as much as possible. I have been getting quite a
bit of grief from people who say I should drop the table tags and us CSS
styles. I have to find the right mix of both.

Some say I should do my pages without tables at all. Pretty interesting
statement, considering that the much of the .net objects are based on
tables.

I was just confused on why the rules attribute did what it did based on what
I read. I had read that article and was not sure what the collapse business
was all about.

Tom
 
T

tshad

Jukka K. Korpela said:
What other posts on this matter?


Well, it would have been odd, since there is no such attribute for <td>.


What rules="all" really means is that it specifies that all _cells_ have
borders. In that sense, it is sufficient to set a border for all th and td
elements. The details depend on what you really want. There is no way in
general to simulate the effect of rules="all" as such, since the borders
you get by using HTML alone are of some unspecified default kind. In CSS,
you can and must be more specific, such as
th, td { border: solid 1px #555; }

But this is what is confusing. If I say borders=1 and no rules, I get 3D
borders. If I say borders=1 and rules=all, I get borders all around, but
they are thin lines. If I say borders=0 and rules=all, I get the same thin
lines, but not on the outside of the table. Looks like tic tac toe. If the
rules were to border the cells, why isn't there a border on the outside of
the outside cells?

Tom
 
J

Jukka K. Korpela

tshad said:
But this is what is confusing.

The <table> attributes mostly _are_ confusing. This is one reason why it is
often best to play with CSS only when styling a table, except perhaps for
border="1", since it is generally rather important, for a data table, to
have some borders around cells in non-CSS situations.
If I say borders=1 and no rules, I get
3D borders.

You mean border, not borders.

By HTML definition, border="1" implies a default of rules="all", i.e. there
are borders around each cell, in addition to the border around the table as
a whole. The cell borders have a browser-dependent default appearance,
which you might be able to affect in CSS, but not in (standard) HTML.
Their typical appearance might be characterized as three-dimensional,
though this is somewhat debatable since they are normally 1px thin.
The border around the entire table has the width defined by the border
attribute's value.
If I say borders=1 and rules=all, I get borders all
around, but they are thin lines.

I'm pretty sure you have misanalyzed something. Why don't you specify a
demo URL and list the browsers you used for testing this?
If I say borders=0 and rules=all, I
get the same thin lines, but not on the outside of the table.

On which browser(s)? IE is known to get such things wrong. There should be
no border around the table as a whole if you set border="0", but IE
misbehaves.
If the rules were to border the cells, why isn't
there a border on the outside of the outside cells?

Pardon? Are you referring to a _different_ IE misbehavior: if you
additionally set frame="void", IE correctly leaves out the border around
the table as a whole but it also incorrectly leaves out some of the borders
of the cell?

Did I mention that this is easier in CSS? Just set border="1" in HTML, and
then start playing with CSS.
 
T

tshad

Jukka K. Korpela said:
The <table> attributes mostly _are_ confusing. This is one reason why it
is
often best to play with CSS only when styling a table, except perhaps for
border="1", since it is generally rather important, for a data table, to
have some borders around cells in non-CSS situations.
Not sure what you mean here. What would be considered a non-CSS situation?

I get all kinds of grief when not using CSS, but clearly you still need to
use table attributes for some instances (right?).
You mean border, not borders.

By HTML definition, border="1" implies a default of rules="all", i.e.
there
are borders around each cell, in addition to the border around the table
as
a whole. The cell borders have a browser-dependent default appearance,
which you might be able to affect in CSS, but not in (standard) HTML.
Their typical appearance might be characterized as three-dimensional,
though this is somewhat debatable since they are normally 1px thin.
The border around the entire table has the width defined by the border
attribute's value.

I did put a sample page:

http://www.payrollworkshop.com/samples/tablerulestest.htm

to show the differences.

And I did figure out how to get just the outside border (border=1,
rules="none").

In IE, it actually does what you would expect (most of the time). I assume
border=1 implies rules=all (as you said) and border=0 implies rules=none.
Same with Mozilla. But in IE, you can't seem to get rules=all without the
outside border. It implies border=0 and rule=none.

In IE, all the lines (borders look the same - stylized 3D look). In
Mozilla, only borders=1 has this look. All the rest are thin lines.
I'm pretty sure you have misanalyzed something. Why don't you specify a
demo URL and list the browsers you used for testing this?

I did and it is at:

http://www.payrollworkshop.com/samples/tablerulestest.htm
On which browser(s)? IE is known to get such things wrong. There should be
no border around the table as a whole if you set border="0", but IE
misbehaves.

Which is irritating.
Pardon? Are you referring to a _different_ IE misbehavior: if you
additionally set frame="void", IE correctly leaves out the border around
the table as a whole but it also incorrectly leaves out some of the
borders
of the cell?

Did I mention that this is easier in CSS? Just set border="1" in HTML, and
then start playing with CSS.

I will need to do this more to get a better idea of the behaviors in each of
the browsers.

Thanks,

Tom
 
J

Jukka K. Korpela

tshad said:
Not sure what you mean here. What would be considered a non-CSS
situation?

Generally, any situation where style sheets are not applied or, what comes
close to that in practice, where a browser's or user's style sheet
overrides most of the author's style sheet. For example, if anyone still
surfs around with Netscape 4, it's probably best to switch off its
style sheet "support".
I get all kinds of grief when not using CSS, but clearly you still need
to use table attributes for some instances (right?).

Well, "need" is a strong word, but I really meant that border="1" is quite
useful for most data tables.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top