Everything Wild RT said is on the mark. Vinyl is a solid material and molded (extruded) in color, it's the same color all the way through, any dye or paint will just coat the top. Vinyl is a "dye friendly" plastic, some chemicals can bond to it quite well.

Some dyes/paints will get a better bond than others depending on what type of chemical bond thier chemistry allows. Surface wear is enevidable so expect it to some degree or another.

Canvas (as mentioned in the post above) is a natural fiberous material and will accept dye in most cases so no problems there.

So, bottom line? If you can afford it just buy a new top. If you can't dye will likely get you buy for a while just don't expect it to look like a new top, that would be being unrealistic.