W3C home > Mailing lists > Public > www-style@w3.org > February 2012

Re: [css3-ui] Negative values in outline-offset?

From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
Date: Fri, 17 Feb 2012 19:37:20 +0800
Message-ID: <4F3E3BF0.6020209@csail.mit.edu>
To: WWW Style <www-style@w3.org>
(12/02/15 10:02), Kang-Hao (Kenny) Lu wrote:
> What should happen when the absolute value is bigger than half of the
> smaller outer border edge than? Test case:
> 
> data:text/html,<p style="outline: solid; outline-offset: -2em;">Test
> 
> WebKit browsers draw no outline in this case and Firefox....  I can't
> quite describe it... it's something like a normal outline without two
> top corners.

It turns out that 'outline-style: solid;' is a bit special in Firefox
and for other 'outline-style' Firefox's behavior is similar to WebKit's.

(12/02/15 23:33), fantasai wrote:
> IMO the UA should floor it at the least offset it can support. It
> shouldn't *not* draw the outline.

I have no idea if continuity is a requirement for CSS behavior, but if
the requirement is "UAs should always draw the outline", another choice
would be resetting 'outline-offset' to 0 if it passes the critical value
(to be defined).

(12/02/16 18:10), Leif Arne Storset wrote:
> Just to make sure I understand: The new suggested behavior would be to
> floor the outline-offset to the lowest value that will draw the entire
> outline.

That sounds like a reasonable definition of "the least offest it can
support". However, currently for WebKit and Firefox ('outline-style' !=
'solid') the critical point after which the outline disappears is the
point when two outline edges overlap and separate and are about to have
no overlapping area again. (I am not sure I am making sensible
description here so here's a test case

data:text/html,<!DOCTYPE html><style>p { height: 20px; outline: dotted
1em; } p:hover { -webkit-transition: 10s; -moz-transition: 10s;
-o-transition: 10s; -ms-transition: 10s; transition: 10s;
outline-offset: -100px; } </style><p>Test</p>

)

I sort of think the critical value should be the value when two outline
edges overlap completely though that's more or less a random idea.

(12/02/16 5:45), Tab Atkins Jr. wrote:
> Yes, our behavior sounds like a silly bug.

Not to me! If I were an implementer I probably won't bother to add a if
clause here for this corner situation and as a user I don't want my
browser to get heavier and slower because of countless edge cases like
this...


Cheers,
Kenny
Received on Friday, 17 February 2012 11:37:46 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:50 GMT