These are called vendor prefixes.
Have you seen the comments next to the lines? It means which browsers understand that line with that prefix.
For features that do not have a finalized, standard version, browser vendors can use these vendor prefixes to implement them. So let's say when Chrome 15 came out, border-image
did not have a widely accepted standard that won't change, so they used -webkit-border-image
. This way, if the final standard will be different from the previous version, older browsers displaying pages written with the new syntax won't break. When Chrome 16 came out, border-image
was considered final, so it is supported in that version.