- From: Garth Wallace <gwalla@hotmail.com>
- Date: Mon, 20 Apr 1998 20:39:44 PDT
- To: www-style@w3.org
It seems to me that the current CSS2 text-shadow property is not an
ideal solution for two reasons:
1) It is something of a misnomer. If anything, it should be named
font-shadow. At least, according to the naming conventions used so far,
text- properties tend to have less to do with the style of type than
with character-level concerns such as case. In terms of traditional
typography, changes to font- properties would require using a different
font, while changes to the text- properties would involve the selection
of specific characters (for example, uppercase characters) and
additional decorations (adding underlines, strike-throughs, and the
like) (text-decoration: blink is an aberration, unless you think of the
decoration as being applied in the fourth dimension. This may be pushing
it.)
2) It is very limited. It can only be used for text shadow effects, and
of these it can only do drop shadows. Cast shadows are still impossible
without resorting to images.
My proposed solution is a font-effect property, used to apply any
graphical "special effect" to text. The format of the font-effect
property would be:
font-effect: effect depth angle size color blur transparency
The effect option would determine the type of effect applied. The values
would be mutually exclusive and would include:
none - regular text
drop - a drop shadow
cast - a shadow cast in the perceived x-z plane
inset - a bevelled effect similar to the eponymous border-style
value
outset - a bevelled effect, the inverse of inset
inherit - default, already defined in CSS(2)
I will refer to drop and cast collectivey as "shadow" effects, and inset
and outset as "bevel" effects.
All remaining options would be meaningful in the context of shadows.
Only depth and angle might possibly have an effect in the context of
bevels. The remkaining options may be listed more than once in the
context of shadows to produce multiple-shadow effects.
The value of the depth option would be a size specified in any of the
font size formats (pt, em, etc.). In drop shadows, it refers to the
perceived distance along the z-axis from the main character to the
shadow. In cast shadows, it refers to the distance from the lowest point
(baseline or descender) of each character to the imaginary x-z plane on
which that character's shadow lies. If it affects bevel effects at all,
it refers to the depth of the bevel. If a percentage value is specified,
the depth is calculated from the current font size once, and the
resulting absolute depth is inherited.
The value of the angle option is a number from -360 to 360 inclusive. It
specifies the angle of the shadow's projection clockwise from 3:00.
The value of the size option is a font size type. It refers to the font
size of drop shadows and the length of cast shadows. If a percentage is
used, it is inherited uncalculated, and the absolute shadow size is
recalculated for each change in font-size.
Color is the color of the shadow.
Blur is the blur radius of the shadow, specified in the same way as the
blur value for the current text-shadow proposal.
Transparency is the transparency of the shadow and takes a number from 0
to 100. 0 is opaque, while 100 is completely transparent. Intermediate
values lend color and shade to elements underneath by varying amounts.
I'm not entirely happy with this proposed property. It may take too many
values. However, it provides much more functionality than the
text-shadow property and is more extensible.
------------ "I am not a number! I am a free man!" ---------------
- The Prisoner*
*or a USC student <gwalla@planetall.com>
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
Received on Monday, 20 April 1998 23:39:48 UTC