HighDots Forums  

Eric Meyer on CSS question

Cascading Style Sheets Layout/presentation on the WWW (comp.infosystems.www.authoring.stylesheets)


Discuss Eric Meyer on CSS question in the Cascading Style Sheets forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jamie
 
Posts: n/a

Default Eric Meyer on CSS question - 07-23-2004 , 04:40 PM






Hi,

This line is straight from page 82 of "Eric Meyer on CSS":

td#main {background: #FFD; color: black; border: 2px solid #797;
border-width: 2px 2px 2px 1px; }

Isn't it redundant to have "2px" in the border rule when you have an
explicit border-width rule? What am I missing?


Jamie

Reply With Quote
  #2  
Old   
Alan J. Flavell
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-23-2004 , 04:49 PM






On Fri, 23 Jul 2004, Jamie wrote:

Quote:
td#main {background: #FFD; color: black; border: 2px solid #797;
border-width: 2px 2px 2px 1px; }

Isn't it redundant to have "2px" in the border rule when you have an
explicit border-width rule? What am I missing?
The shortcomings of some earlier browser versions, I think.

In other contexts it might be an issue of specificity, but I can't see
how that would be operative here.


Reply With Quote
  #3  
Old   
C A Upsdell
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-23-2004 , 04:53 PM



"Jamie" <enzymatic2009 (AT) yahoo (DOT) com> wrote

Quote:
Hi,

This line is straight from page 82 of "Eric Meyer on CSS":

td#main {background: #FFD; color: black; border: 2px solid #797;
border-width: 2px 2px 2px 1px; }

Isn't it redundant to have "2px" in the border rule when you have an
explicit border-width rule? What am I missing?
The specs require that the width be specified if you use border, and do not
allow you set different widths for different sides.




Reply With Quote
  #4  
Old   
Spartanicus
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-23-2004 , 05:27 PM



Jamie <enzymatic2009 (AT) yahoo (DOT) com> wrote:

Quote:
td#main {background: #FFD; color: black; border: 2px solid #797;
border-width: 2px 2px 2px 1px; }

Isn't it redundant to have "2px" in the border rule when you have an
explicit border-width rule? What am I missing?
The shorthand requires all three values.

Without the shorthand the code fragment would have looked like this:

td#main {background: #FFD; color: black; border-width: 2px 2px 2px 1px;
border-style: solid; border-color: #797; }

The first saved 17 bytes.

Perhaps Eric is the frugal type

--
Spartanicus


Reply With Quote
  #5  
Old   
e n | c k m a
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-23-2004 , 07:14 PM



Quote:
The shorthand requires all three values.
Shouldn't the CSS validator pick that up then? I didn't know it mattered...
Should I bother changing all of my border definitions [where I didn't state
the width] then? Is it a big deal?




Reply With Quote
  #6  
Old   
e n | c k m a
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-23-2004 , 07:29 PM



Quote:
The shorthand requires all three values.
Reading through the [2.1] specs, I don't think that's accurate... but,
correct me if I'm wrong.

This is an example taken from
http://www.w3.org/TR/CSS21/box.html#border-properties

You may need to scroll down to 'border'

<code>

p { border: solid red }
p {
border-top: solid red;
border-right: solid red;
border-bottom: solid red;
border-left: solid red
}

</code>

And,

<quote>
This is a shorthand property for setting the width, style, and color of the
top, right, bottom, and left border of a box.

Example(s):


h1 { border-bottom: thick solid red }
The above rule will set the width, style, and color of the border below the
H1 element. Omitted values are set to their initial values. Since the
following rule does not specify a border color, the border will have the
color specified by the 'color' property:

H1 { border-bottom: thick solid }
</quote>

Thus, the shorthand doesn't require all three values. Again, correct me if
I'm misinterpreting this.





Reply With Quote
  #7  
Old   
Christoph Paeper
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-23-2004 , 08:21 PM



*Jamie* <enzymatic2009 (AT) yahoo (DOT) com>:
Quote:
td#main {/*...*/ border: 2px solid #797; border-width: 2px 2px 2px 1px; }

Isn't it redundant to have "2px" in the border rule when you have an
explicit border-width rule?
Yes, I would write it like this:

border: 2px solid #797; border-left-width: 1px;

Note that

border-width: 2px 2px 2px 1px; border: 2px solid #797;

wouldn't work as desired, because all four borders would be 2px.
Some UAs may also make borders 'medium' wide for

border-width: 2px 2px 2px 1px; border: solid #797;

but AFAIK that would be wrong, although 'medium' is the initial value for
'border-(top|right|bottom|left)-width' and (most) shorthand properties
reset to initial if no explicit values are given. They would be right if
those rules were not in the same ruleset, i.e.

foo {border-width: 2px 2px 2px 1px;}
* foo {border: solid #797;}

I'm not totally sure about that, so CMIIW, please!

--
"The squeaking wheel doesn't always get the grease.
Sometimes it gets replaced."
Vic Gold


Reply With Quote
  #8  
Old   
Spartanicus
 
Posts: n/a

Default Re: Eric Meyer on CSS question - 07-24-2004 , 02:19 AM



"e n | c k m a" <bob (AT) marley (DOT) com> wrote:

Quote:
The shorthand requires all three values.

Reading through the [2.1] specs, I don't think that's accurate... but,
correct me if I'm wrong.
You are right, thanks for the correction.

The border shorthand takes one, two or three values, when specifying one
or two the other properties are set to their initial value.

--
Spartanicus


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.