Si tu veux un hover ça va clairement pas le faire avec du HTML/CSS. On peut reproduire des triangles mais en réalité c'est des carrés avec des parties transparentes, donc le :hover prendrait le carré complet, et t'aurais des problèmes à la superposition des "<" (la partie droite d'un bouton "alumerait" le bouton d'à côté, ou l'inverse si tu joue avec les z-index mais c'est pas mieux).
Il va falloir t'orienter vers du SVG si tu veux avoir un effet irréprochable au hover, tu te fais un menu.svg que tu mets dans une balise object, et à l'intérieur tu mets un vrai menu ul > li pour les navigateurs qui ne supportent pas le svg et pour les robots, typiquement:
<object data="menu.svg" type="image/svg+xml">
<ul>
<li>Accueil</li>
<li>Tutos</li>
<li>Galerie</li>
<li>Partenaires</li>
</ul>
</object>
Pour le SVG je te laisse te renseigner, tu pourras facilement faire des triangles, des dégradés, du texte et des effets de hover (même de l'animation), et si tu as Illustrator tu pourras même le faire sans avoir à mettre les mains dans le code (quoique je sais pas si il gère le hover et l'animation).