- From: L. David Baron <dbaron@dbaron.org>
- Date: Tue, 28 May 2013 12:47:25 +0800
- To: www-style@w3.org
It's long been my understanding that the 'outline-*' properties in http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines are intended primarily for correct rendering of focus outlines, and therefore ought to differ a good bit from the way borders work. CSS 2.1 describes differences in a number of ways (such as merging of inlines and closing of edges) that are appropriate for outlines. In Gecko we've implemented outlines as surrounding not only the border box of the element, but the border box of its descendants as well. This seems to me to be a better behavior for focus outlines, but it's also a common source of author complaints, perhaps partly because other implementations don't do things this way, and perhaps partly because the complaints are coming from authors using the 'outline-*' properties for reasons other than showing focus. Given (1) the complaints and (2) the complexity of maintaining our current behavior in the presence of 3-D transforms (especially those with preserve-3d), I'm considering agreeing to change Gecko's behavior (in [1]) to just put the outline directly around the border box. I'm curious what others think of this change. Some simple tests are: http://dbaron.org/css/test/2013/outline-behavior These show Chromium and IE differing from the border-box by merging across inlines, and Gecko differing from the border box by expanding for overflow. (I'd like us to fix Gecko to merge across inlines at some point.) -David [1] https://bugzilla.mozilla.org/show_bug.cgi?id=480888 -- 𝄞 L. David Baron http://dbaron.org/ 𝄂 𝄢 Mozilla http://www.mozilla.org/ 𝄂
Received on Tuesday, 28 May 2013 04:47:59 UTC