- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Mon, 09 Jun 2008 15:35:50 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: www-style@w3.org
Tab Atkins Jr. wrote:
>
>
> On Mon, Jun 9, 2008 at 2:40 PM, Andrew Fedoniouk
> <news@terrainformatica.com <mailto:news@terrainformatica.com>> wrote:
>
> Consider following css resource:
> --- a.css ---
> @media screen
> {
> a { color:green; }
> } --- end of a.css ---
>
> And following markup:
>
> <html>
> <style>
> @import url(a.css) print;
> </style>
> <body> <a href="#">test</a> </body>
> </html>
>
> that is loaded in UA on media screen.
>
> What color that <a> should have?
> If you say that you load and parse everything disregarding of
> media type
> then <a> should have a { color:green; } applied.
> Neither Mozilla nor Opera do that as far as I can tell.
>
>
> Load and parse, certainly, but not necessarily apply. If that was the
> case, media queries would be entirely useless, as you must have noted
> when constructing your example.
> The a.css file gets loaded on page load, but its contents are only
> applied when you try to print. So, the <a> isn't green on the screen,
> nor is it green in the printout (since at that point it's wrapped in a
> screen query, and thus won't apply).
>
That is far from what specification says:
"Style sheets are only imported if the media query on the |'@import'
<http://www.w3.org/TR/css3-cascade/#import>| (if any) matches the media
for which the UA renders the document.
If an |'@import' <http://www.w3.org/TR/css3-cascade/#import>| is
skipped, then all |'@import'
<http://www.w3.org/TR/css3-cascade/#import>|s inside the style sheet it
points to are also skipped, no matter what their names."
Source: http://www.w3.org/TR/css3-cascade/#at-import
All wordings in CSS2.1. and CSS3 implies that @import is handled at
parse time only - so no dynamic adjustments are required.
That is why I am asking: are we changing paradigm or not?
--
Andrew Fedoniouk.
http://terrainformatica.com
Received on Monday, 9 June 2008 22:36:37 UTC