- From: Simon Pieters <simonp@opera.com>
- Date: Thu, 21 Jan 2010 15:56:04 +0100
- To: www-style@w3.org
Hi, Regarding image-fit and image-position: http://dev.w3.org/csswg/css3-page/#propdef-image-fit http://dev.w3.org/csswg/css3-page/#propdef-image-posn We have the following feedback: * overflow mismatch The spec is inconsistent with Basic Box Model Module (where overflow is defined [1]). image-fit applies to replaced content, but depends on the overflow property, which does not apply to replaced content. It seems simple enough to modify overflow to accept replaced content, but note that overflow allows more values than just visible and hidden. There are scrollbars and no-content/no-display bailouts. If these are not desired, the image-fit spec should explicitly say so. However, I suggest that we accept these values (and thus do not mention anything about them in particular). Suggested change: In the Basic Box Model chapter on overflow, remove all mentions of "non-replaced". * Missing "none" The none value only seems to be documented in the example and is not actually part of the property according to the current draft. Suggestion: In the image-fit definition [2], add "none" to the list of values. In the description, add the following: none Render the content at its intrinsic dimensions, overflowing if necessary. * Fit to content or padding box? Section 10.3 states that images are to be positioned relative to the padding box; in the initial case ("image-fit: fill") this means that the image covers the padding box. However, currently all browsers fit images to their content box. Is the spec unintentionally going against current practices, or am I missing something? Furthermore, both 10.2 and 10.3 rarely state which box they are talking about. To me it seems like every instance of "box" should refer to the content box, except the last normative paragraph of section 10.2; it discusses overflow and probably should refer to the border box. Am I correct in this assumption? I guess whoever wrote that copied stuff from 'background' and forgot to check if it actually made sense... :-) * Don't inherit Inheriting is problematic for SVG because the SVG author probably won't expect all elements establishing new viewports to suddenly look different. It is difficult to see what advantages there would be for other replaced content, except perhaps multiple nested <object> fallbacks. Suggestion: Do not inherit image-fit and image-position. * Move to another module In chapter 10, the spec states that [3] The following properties may be transferred to a more appropriate CSS module in the future. This makes sense, given that the property is not only useful for paged media. One possible target might be the Generated and Replaced Content module, in the chapter Replaced content. [4] * New auto value WebKit, Gecko and Opera render SVG, bitmaps and videos differently in <object>. Using any single value of image-fit would break this compatibility. We suggest a new value auto that will maintain the status quo. Suggestion: Under 10.2 The ‘image-fit’ Property, add "auto" to the list of values. In the description, add the following: auto Choose a method of scaling the content based on its type. The following table gives the rendering for each type: Content | Scale as if image-fit: --------+------------------------ bitmap | fill SVG | none video | contain [1] http://www.w3.org/TR/2007/WD-css3-box-20070809/#overflow0 [2] http://dev.w3.org/csswg/css3-page/#propdef-image-fit [3] http://dev.w3.org/csswg/css3-page/#image-properties [4] http://dev.w3.org/csswg/css3-content/#replacedContent Cheers, -- Simon Pieters Opera Software
Received on Thursday, 21 January 2010 14:56:50 UTC