• 200616 Jun

    Since i’ve started with my CSS3 preview pages, i’ve had the same question at least 10 times already: why do browsers prefix CSS3 features? It seems so weird, when both WebKit and Firefox have border-radius implemented, you have to write two lines for it to work in both browsers.

    The reason for this lies in the way the W3C works. A CSS feature is specified at some time in a Working Draft. For instance, border-radius is specified in the backgrounds and borders module. When it is first published, this is not immediatly an official Recommendation, but just a proposal of the author(s), which will be discussed by the W3C’s CSS workgroup, and on the www-style mailinglist.

    At some point, the CSS workgroup will decide it is time for a module to leave the “draft” phase, and will place a “Last Call”. When this last call get’s no substantial comments, it becomes a so called “Candidate Recommendation” (CR). To leave the CR phase, a specification has to have been a CR for at least six months, has to have two complete implementations, and a test suite to prove it has those.

    With all that said, why and when do browsers prefix features? They do that until a feature becomes a CR. If they wouldn’t do that, the CSS WG could change the specification, other browsers could adopt the new version, and people would get different rendering results from the exact same feature. So effectively, a prefix says: the behavior of this element might change at any point in time, and it’s not per se a correct representation of the latest specification.

    You can skip to the end and leave a response.

  • Comments


Advertise here?