Re: Proposal of @ua

On Nov 26, 2007, at 10:52 AM, Alan Gresley wrote:
> You have often suggested that you need to hack because some browser  
> doesn't support a CSS3 feature and you need to fix the  
> nonsupporting browser up. Surely you must be coding for the year  
> circa 2010 instead of now.

Not really. I'm coding in a way to best try to realize my designs,  
and trying not to use deprecated tags, tables for layout, or sliced  
up images to achieve them. I've given a couple examples of where I've  
needed hacks. I can give more, if you like, or resend the ones I've  
already provided.

Some things are easier in Quirks mode, without a 4.01 or XHTML  
doctype, but I did not have that choice on my current project. Even  
so, you admitted to using 13 hacks. Does that mean that you are  
coding for the year 2010?

My premise is that moving forward there will still be a need for such  
hacks or filters. That we will never reach the utopian world in   
which all implementors are supporting all the same rules and all in  
the same way, and in fact the need will actually grow as new advanced  
layout methods and such are introduced, and as CSS continues to  
advance with new properties that are today still in their early  
stages or as yet undreamed of. But the effects of the "hacks" will be  
nearly impossible to achieve without explicit support from the  
implementors for an official way to include.

>> I also think that the sort of author that would use advanced CSS3 is
>> more likely to be aware of the issues and write that CSS in a way you
>> would not object to, and to set a good example for future authors.
>
> Would this good example employ the use of a @ua?

Sort of. Actually, I was suggesting that it be a media query instead,  
and I gave examples of doing so in a non-exclusionary manner (which  
is part of what would make it a good example), so that it would only  
be used where needed to address known issues where a particular  
rendering engine could not adequately handle the CSS presented to  
other browsers. In other words, in places where CSS hacks are used  
today, such as where you used one for IE7.

So, in theory, if IE8 came out and you still needed the hack but they  
had fixed the selector bug, then instead of this:

*:first-child+html a.exlink {display:inline-block;}

you would be able to apply the same line of code like this (if IE8  
supported this sort of media query):

@media screen and (renderer:Trident) {
  a.exlink {display:inline-block;}
}

Received on Tuesday, 27 November 2007 15:48:30 UTC