- From: Chris Lilley <chris@w3.org>
- Date: Tue, 26 Mar 2002 16:53:53 +0100
- To: www-style@w3.org, www-style-request@w3.org, fantasai <fantasai@escape.com>
On Tuesday, March 26, 2002, 8:00:39 AM, fantasai wrote:
f> Tantek Çelik wrote:
>>
>> text-decoration-opacity
f> I think text-decoration can be fairly grouped with text, especially since it
f> doesn't have a separate color property, either. (And if there were separate
f> opacity properties, border and outline opacity could have an initial value of
f> <foreground-opacity>, just as border-color has an initial value of <color>).
Provided it is made clear whether
a) text is drawn on top of underlines
b) text is drawn below underlines
c) text and underlines are combined into a single geometry and
rendered as one (unlikely but possible)
Same for strikethrough.
>> It is much simpler to introduce 2 new color value types which can then be
>> used with all properties that specify a color, rather than add 5-9 new
>> properties.
Until one considers animation, and DOM manipulation.
>> In addition, the new color value types permit controlling the opacity of
>> these pieces of elements independently of elements' children, which the
>> opacity property does affect.
Correct.
f> Which shows the fundamental problem with declaring rgba and hsla the
f> solution to separating background and foreground opacity.
f> Suppose I have a <div>. I want the the <div>'s background to be translucent,
f> but it's text should be opaque so it's easily readable. It's a reasonable
f> request, no?
f> <div class="sidebar">
f> <p>Paragraph text.... <a href="file.html">Link</a>... So <strong>DON"T
f> FORGET...</strong> etc.
f> </p>
f> </div>
f> Your suggestion would be to set the background as a transparent color. Thus:
f> .sidebar {
f> background: rgba(255, 255, 0, .5);
f> }
f> Which works fine, except I also happen to have these rules in effect:
f> :link, :visited {
f> background: #FFBB00;
f> color: #000033;
f> }
f> strong {
f> background: #FF0000;
f> color: #000000;
f> }
f> So the background on the link and emphasized notice is opaque. This is not
f> according to my design,
It is - you specified an opaque color and that is what you got.
f> and IMO, it looks bad. So now I have to write separate
f> rules for any elements in a sidebar, adjusting the background color's opacity
f> accordingly.
Yes, you would have to adjust the color as well because the color and
the opacity are globbed together. I agree it would be easier to just write
.sidebar {
background: rgb(255, 255, 0);
background-opacity: 0.5
}
.sidebar * { background-opacity: 0}
f> This isn't much of a problem if I only have to deal with sidebars,
f> and only with links and strong emphasis. However, using this approach with a
f> complicated stylesheet and a large variety of elements is inelegant and prone
f> to mistakes.
Agreed.
--
Chris mailto:chris@w3.org
Received on Tuesday, 26 March 2002 10:55:53 UTC