CSS is supported differently by different browsers. Some browsers have better track records than others. Every so often someone (along with the W3C) will write a new specification which will describe a new set of CSS features. Sometimes they become really popular and a lot of people get involved.

For example, border-radius was once part of a specification that was not fully supported. Specifications are often not fully complete, or leave certain descriptions out. This means the people making browsers have a little trouble interpreting what they should implement. This leads to differences between browser CSS support. For that reason, browsers will implement experimental versions of properties first, and these use browser prefixes.

Examples

Each browser uses a specific prefix. Remember, these are only used for experimental and new CSS features.