Re: [css-device-adaptation] Progress?

> On Feb 20, 2015, at 8:16 AM, Yoav Weiss <yoav@yoav.ws> wrote:
> 
>> On Thu, Feb 19, 2015 at 11:45 AM, Rune Lillesveen <rune@opera.com> wrote:
>> On Wed, Feb 18, 2015 at 10:45 PM, Yoav Weiss <yoav@yoav.ws> wrote:
>> > My main problem with the device-adaptation spec and the `@viewport` rule is
>> > that it enables external style sheets to impact the viewport dimensions.
>> > That can introduce issues around viewport dimensions based resource loading
>> > (so both <link media> based CSS and `srcset`/`<picture>` based responsive
>> > images).
>> >
>> > One way to solve this would be to limit `@viewport` inline styles in the
>> > document's head, and add smarts to the UAs parsing mechanisms so that they
>> > can apply those rules when kicking off loading of viewport-dimensions based
>> > resources.
>> 
>> I agree the UA should be allowed to resolve the viewport based on
>> inline styles in head, and it should be established as a "best
>> practice", but I'm not sure we need to disallow authors to shoot
>> themselves in the foot. Do we have other examples in CSS where we
>> handle rules differently based on their origin?
>> 
> 
> Well, @import only works if it's placed before any other rule.
> And, since it's a major performance foot gun, I think @import would also make sense as an "inline-only" rule, but that ship has long sailed.
> 
> @viewport is worse than @import in the sense that it can impact and invalidate or make redundant many other resources that were already download, at least partially. 
> 
> Since this foot gun has no visual implications when developing locally, I'm afraid that when using @viewport, authors would shoot themselves in the foot more often than not. 

Please don't make it inline only. For some of us, external style sheets are the only opportunity we have to add this sort of thing to some sites. It is a major weakness of the current situation that a meta has to be hard coded into the html of each page instead of having it as part of a coo on CSS file. 

I am currently working on a project where I even have to resort to adding a meta via JavaScript after the page has been laid out, because broad support for @viewport doesn't yet exist, and because editing the html is not an option, but it is still better than nothing. 

I think it is good enough to add a note about best practice: to either include the @viewport in the head directly and early, or include it near the top of one of the first loaded external style sheets (with a non-restrictive media type).

And yes, I have also used @import within an external style sheet before, after weighing the alternatives, and it worked well, without any major injury or complaints or the world coming to an end. 

Not everyone would  make the same decisions as  I do, but they are my decisions and I don't regret them, even if someone else is characterizing it as shooting myself in the foot.

Received on Friday, 20 February 2015 23:20:56 UTC