- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Thu, 16 Jun 2011 00:09:46 -0400
- To: www-style@w3.org
On 6/15/11 11:42 PM, Shane Stephens wrote: > In brief, here's the test: > > div { > box-sizing: border-box; > border: 3px solid blue; > padding: 5px; > width: 50px; > } > > What should the value of > window.getComputedStyle(document.querySelector("div"), null).width be? > Should it be the specified width of the element (50px), or the width > of the content box (34px)? This question is particularly interesting because getComputedStyle doesn't return the CSS 2.1 computed style for 'width'; instead it returns the used style. And the used style in this case is 34px, while the computed style is 50px. At the same time, it would be nice if the values returned by getComputedStyle could be used as specified values without changing the rendering (which works for used width values if box-sizing is content-box, but not otherwise). So it's really a question of which of the two properties (returning used values or returning something that's "more resolved" than CSS 2.1 computed style but can be round-tripped into specified style without changing the rendering) matters more here. Or to put this in testcase terms: <style> body { width: 200px; } div { width: auto; box-sizing: border-box; padding: 10px; } </style> <body><div></div></body> The question is whether getComputedStyle for 'width' on the div should return 180px or 200px (neither of which is the CSS 2.1 computed value; the former is the used width and the latter is what would work for round-tripping). Note also https://bugzilla.mozilla.org/show_bug.cgi?id=520992 (which seems to be the only Gecko bug report related to this I've found). -Boris
Received on Thursday, 16 June 2011 04:10:27 UTC