Un altro metodo per questo che può anche avere un supporto limitato è "SVG incorporato in CSS". Non ho provato questo da solo, ma l'idea è che tu fornisca una risorsa immagine come url all'interno della dichiarazione css per l'oggetto e gli passi un URL correttamente sfuggito che contiene i dati.
SVG è un formato di testo semplice / xml. Un poligono di esempio (da w3schools ):
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<polygon points="200,10 250,190 160,210"
style="fill:lime;stroke:purple;stroke-width:1"/>
</svg>
Un esempio in linea (incorporato) SVG (semplificato) (da stackoverflow ):
url("data:image/svg+xml;utf8, <svg></svg>");
Si noti che i dati SVG devono essere "salvati" correttamente per l'uso in linea, il che li rende leggermente meno attraenti rispetto al semplice collegamento di un file SVG.
C'è qualche discussione sulla fattibilità del metodo nel thread collegato sopra. Penso che incorporare qualcosa di semplice come un triangolo pieno di bianco sia una decisione facile a condizione che ci sia supporto. I dati complessi in formato SVG devono essere archiviati come file SVG anziché in linea.
I file SVG sono vettoriali e possono essere ridimensionati in percentuale, a differenza del metodo "bordi". Inoltre (attualmente) hanno un supporto migliore (almeno non in linea) rispetto al metodo del tracciato di ritaglio elencato. SVG, essendo testo semplice, può anche essere emesso al volo usando ad esempio PHP o altri script lato server.