Faire CSS3 triangle avec un dégradé linéaire

J'ai besoin de créer un bouton avec un triangle sur le côté (comme cette http://css-tricks.com/triangle-breadcrumbs/) avec linear gradient vertical et de la frontière, et je veux l'utiliser pure CSS3.
C'est ok si j'ai besoin de 45deg "triangle", je viens d'écrire qch comme ça

.button:after {
    -webkit-transform: rotate(45deg);
    background: -webkit-linear-gradient(-45deg, #fff, #000);
    content: '';
    width: 2em;
    height: 2em;
    display: block;
}

et masquer la moitié de ce pseudo-élément .bouton (alors que l'autre moitié est visible, comme un triangle).

Mais si j'ai besoin d'un autre angle (par exemple, plus raide) - je ne peux pas le faire avec standart XY rotation et échelle. Je peux utiliser, par exemple, 2 divs, un pour la moitié supérieure du triangle, et un pour le fond, mais il pourrait y avoir un problème avec bordure et dégradé.

C'est peut-être possible de le faire avec plusieurs dégradés avec les arrêts de couleur?

InformationsquelleAutor Wayne | 2012-05-14