- From: Rune Lillesveen <rune@opera.com>
- Date: Mon, 18 Oct 2010 11:47:12 +0200
- To: www-style@w3.org
On Mon, 18 Oct 2010 10:33:33 +0200, Rune Lillesveen <rune@opera.com> wrote:
> http://people.opera.com/rune/TR/ED-css-viewport-20101013/
I would like to remove the "default viewport width" concept from the spec
and have the UAs replace it with a UA stylesheet like this if they want a
default width:
@viewport { width: desktop-width; }
The reason is that it:
- simplifies the spec
- simplifies and makes the resolving procedure more understandable
- makes it clear that using the initial viewport size as the actual
viewport size is the default behaviour
- makes it more in line with CSS (?) to have browser specific behaviour in
a UA stylesheet instead of being part of the constraining procedure
Proposed spec changes:
1. Remove "default width" definition in chapter 3.
2. Remove note about actual viewport size being different from initial
viewport size because of default width in chapter 3.
3. Remove the default-width definition from 6.1.
4. Step 13 in 6.2, change to "If zoom is 'auto', set zoom = 1".
5. Step 16 in 6.2, change from "default-width" to "initial-width".
6. In chapter 7, remove: ", but with width set to the default viewport
width".
7. In section 9.3, add: "For a viewport meta element that translates into
an @viewport rule with a non-'auto' zoom declaration and no width
declaration, add "width: auto;".
8. It should also be said that the non-normative translation from viewport
meta to @viewport in chapter 9 assumes the presence of "@viewport { width:
desktop-width; }" in the UA stylesheet to be compatible with current meta
viewport implementation(s).
Consequences:
1. Setting zoom only does not automatically discard width from UA
stylesheet like it would have discarded the default-width with the current
draft.
With the current draft, this:
@viewport {
zoom: 1.0;
}
will give you a width set to initial-width, even if the default-width is
something different. With a "width: desktop-width" in the UA stylesheet,
the resulting properties would be:
width: desktop-width
zoom: 1.0
2. Compatibility with Safari's viewport meta will not be kept for multiple
meta elements.
For a single meta element, compatibility with Safari could be kept by
setting the width to 'auto' if it's not specified in the content
attribute. That is, this:
<meta name="viewport" content="initial-scale=1.0">
would be translated into:
@viewport { zoom: 1.0; width: auto; }
Compatibility would not be kept for this case:
<meta name="viewport" content="width=640px">
<meta name="viewport" content="initial-scale=1.0">
because the second meta element would reset the width to auto. In the
current Safari implementation, the two meta elements are combined to set
width to 640 and initial-scale to 1.
I am willing to sacrifice the backwards compatibility with viewport meta
for the multiple meta element case.
--
Rune Lillesveen
Senior Core Developer / Architect
Opera Software ASA
Received on Monday, 18 October 2010 09:47:47 UTC