CSS Triangles: A Tragedy in Five Acts
As alex said, borders of equal width butt up against each other at 45 degree angles:

When you have no top border, it looks like this:

Then you give it a width of 0…

…and a height of 0…

…and finally, you make the two side borders transparent:

That results in a triangle.