The simplest way is with well positioned images (overlays) with transparent areas, if you don't want to use images the only way I can think of is to use the border hack to create the triangles/diagonals. If you choose the latter look on Stu Nicholls' site - www.cssplay.com, that's where I learnt it many years ago - but beware it's fairly advanced as CSS goes
Explanation as requested:
Because diagonals aren't supported using diagonal images slanting left to right (/ / / /) would mean that the images don't appear together as you want rather the the bottom-left of one slant would be in line with the top-right of the previous slant as opposed to bottom-right where you want it
You fix that by using z-index to overlap them and either relative or absolute positioning:
.img1 { width: 100px; position: relative; z-index: 1; }
.img2 { width: 100px; position: relative; left: -100px; z-index: 2; }
.img3 { width: 100px; position: relative; left: -200px; z-index: 3; }
.img4 { width: 100px; position: relative; left: -300px; z-index: 4; }
each image further along will have a bigger gap to move by, the exact distance will depend on size of image and angle of slant. Bare in mind you will actually want to move the wrapping a rather than the image itself otherwise the area you can click wont be over the image