CSS3 - A Practical Introduction
leaverou.me
leaverou.me
Took me a minute to figure that one out.
(If you are looking for that kind of information, http://www.quirksmode.org/compatibility.html is by far the best resource I've found anywhere online for it, although I don't think it includes all of CSS3.)
I don't think this is in any way meant as an authoritative reference for browser compatibility.
I think its purpose is that suggested by the title: a practical introduction. A subscript might have been: How to use CSS3 instead of various klduges to achieve interface effects.
In my opinion, anyone using the newer markup and style tools should be testing cross-browser anyway.
Anyway, I think its a great presentation.
I mention quite a lot known compatibility issues with the presentation, including the Firefox 3.6/Win problem (it works fine in my FF3.6 for OSX) along with an explanation of why it only works in latest versions. :)
I don't understand this attitude in web development that panders to this contradictory sentiment. It's like saying - yeah, really we believe all web applications are actually worthless and people only use them while they represent the path of absolute least resistance.
Maybe this sentiment is true. But then, how does any web developer convince themselves they are creating anything of value? Surely if you're going to spend all this time on this stuff, then you HAVE to believe that you are creating something of value. And if you do believe this, then surely you believe that people would be willing to spend 30 seconds of investment upgrading their browser.
(a) know what a web browser is (b) know that it can be upgraded, and how (c) aren't prevented from upgrading due to school/workplace/etc (d) realise the benefits that come with using something newer than IE6 (e) given all the above, decide that your app and others like it aren't worth the install
At least one of (a) through (d) is false for many users.
a) Haven't heard sufficient word of mouth buzz about the application such that they question why it performs so poorly for them. b) That this word of mouth doesn't cause them to seek out the source of the problem - i.e. the old age of their browser. c) that they don't look forward to using a platform that allows them to enjoy the application when they are blocked from upgrading at work/school etc, d) that it is not possible to infer the increased value of upgrading from observing the experiences of those who have, and e) given all of the above, still decide that your app is of no value to them.
That is to say, if you assume a) through d) then you assume your app is of little value and you shouldn't be building it.
These are the kinds of people that go to mint.com not because they've heard about it, and are excited about it, but because they typed "track my finances" into Google and it was the first result.
But I do want to challenge the idea that you're necessarily making the right decision by trying to appeal to the widest possible install base. It might just be that this is more harmful than is commonly accepted.
Or, you feel your app is so valuable that it is worth the time and effort making it capable of reaching the widest possible audience.
It really depends on the target demographic of your app (technical vs non-technical users).
Requiring a specific browser is a form of playing hard-to-get. That's also a form of signaling, but it doesn't work by itself. You need some other way of convincing people that it's worth jumping the hurdle.
CSS3 will be a wasted effort if 1) not all browsers implement it in a sane way (looking at you IE and mobile Safari) and 2) people actually update their browsers.
The only things I use that are "CSS3" are shadows and rounded corners. If it doesn't look 'OK' in IE7 I don't do it. If it doesn't work in IE7, I design around it so it does.
The minute you require the nightly build of any browser to run a tech demo you might as well be running flash. The beauty of HTML5 and CSS3 is the promised ubiquity. Capability without wide adoption will turn CSS3 into the next Silverlight.
.browser-support dd:nth-of-type(3) { background-image:url("img/opera-logo.png"); }
.browser-support dd.no-support:nth-of-type(3) { background-image:url("img/opera-logo-white.png"); }
And looking at the calculated width example reminded me of the box-sizing property [1], which would simplify that particular use case.I also agree that box-sizing is better, I have also used it in a few places. I mentioned it in my talk too, I just didn't put it in the slides. I just wanted to experiment with calc() a bit too :P
It's sad that, as mentioned in the presentation, CSS3 should reduce markup. but to do something like -moz-transition: 1s ease-in; -webkit-transition: 1s ease-in; -o-transition: 1s ease-in; transition: 1s ease-in;
What is there reasoning for not just doing transition, why do they all put their own vendor prefix on it?
It really makes me wonder that anything ever gets developed on the web when there's this gradual and incomplete adoption of features/standards. Imagine what it'd be like if there was a world-wide HTML5 Release Day, when all browsers updated and suddenly everything Just Worked wistful sigh
@Lea Verou: I also liked the backgrounds and was thinking about mimicking the darker wood one, then noticed it in the credits. But then the DA page says CC-BY-NC-ND and I wondered if you personally knew the artist or had just emailed them to get the extra derivative and commercial use permissions?
One other comment - I had to look at the filename to find out what your company was called looks a lot like "fresiset" in the logo.
Use the arrow keys if you weren't already doing so.